svf-tools 1.0.586 → 1.0.588
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/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/Andersen_8h_source.html +10 -10
- package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +10 -10
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +32 -32
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/CHG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +40 -39
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +18 -18
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Casting_8h.html +1 -0
- package/SVF-doxygen/html/html/Casting_8h_source.html +42 -42
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +29 -29
- package/SVF-doxygen/html/html/DCHG_8h_source.html +13 -13
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +6 -6
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +7 -7
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +5 -5
- package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ICFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +12 -12
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +18 -18
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +25 -26
- package/SVF-doxygen/html/html/MHP_8h_source.html +10 -10
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +10 -10
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/MTA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PCG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +19 -19
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +59 -59
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +81 -82
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SCC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +5 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -27
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +69 -70
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +56 -56
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +47 -47
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SVFLoop_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +16 -16
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +20 -21
- package/SVF-doxygen/html/html/TCT_8h_source.html +16 -16
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -14
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +97 -97
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +6 -6
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WorkList_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +37 -39
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +216 -217
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +259 -260
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +15 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +271 -272
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +257 -258
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +164 -165
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +32 -34
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +191 -192
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +18 -20
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +185 -186
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +189 -190
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +63 -63
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.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_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +153 -154
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +255 -256
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +46 -48
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +74 -74
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +283 -284
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +27 -29
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +274 -275
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +67 -69
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +50 -51
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +120 -121
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +249 -267
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +97 -97
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +142 -142
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +228 -229
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +50 -51
- 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 +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +221 -222
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +324 -325
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -41
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1 -1
- package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +5 -8
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +8 -8
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +8 -8
- package/SVF-doxygen/html/html/functions_p.html +14 -16
- package/SVF-doxygen/html/html/functions_r.html +2 -4
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_type.html +0 -3
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/namespaceSVF.html +156 -174
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +55 -55
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +40 -40
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +72 -71
- package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +0 -1
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +5 -6
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +3 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +0 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01typename_01std_1_1enable__if_3_01std_1_1101a002941fb8432b76e90258f1ec6b7.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +6 -6
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +4 -4
- 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_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +4 -4
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +5 -5
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
- package/include/MemoryModel/PointerAnalysis.h +0 -1
- package/include/SVF-FE/BasicTypes.h +7 -1
- package/include/Util/BasicTypes.h +1 -22
- package/include/Util/Casting.h +1 -0
- package/include/Util/SVFBasicTypes.h +0 -5
- package/lib/MTA/MHP.cpp +4 -4
- package/lib/MTA/TCT.cpp +1 -1
- package/lib/SVF-FE/CPPUtil.cpp +4 -0
- package/package.json +1 -1
|
@@ -68,23 +68,23 @@ $(function() {
|
|
|
68
68
|
<div class="contents">
|
|
69
69
|
<a href="LocationSet_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- LocationSet.cpp -- Location set for modeling abstract memory object----//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * @file: LocationSet.cpp</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * @author: yesen</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * @date: 26 Sep 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * LICENSE</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> */</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">Util/Options.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="LocationSet_8h.html">MemoryModel/LocationSet.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">using namespace </span><a class="code" href="namespaceSVFUtil.html">SVFUtil</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b"> 42</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">LocationSet::addOffsetValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* offsetVal, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  offsetValues.push_back(std::make_pair(offsetVal,type));</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d"> 49</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">LocationSet::isConstantOffset</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword"></span>{</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> it : offsetValues)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(SVFUtil::isa<ConstantInt>(it.first) == <span class="keyword">false</span>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311"> 63</a></span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">LocationSet::getElementNum</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword"></span>{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span>(SVFUtil::isa<ArrayType>(type) || SVFUtil::isa<StructType>(type))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa">getNumOfFlattenElements</a>(type);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type->isSingleValueType())</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast<PointerType>(type))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> getElementNum(<a class="code" href="classSVF_1_1SymbolTableInfo.html#aaeed05509be23fce24809b9cb21cdee2">SymbolTableInfo::getPtrElementType</a>(pty));</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<FunctionType>(type))</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"GepIter Type"</span> << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">type2String</a>(type) << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"What other types for this gep?"</span>);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  abort();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// struct inner{ int rollNumber; float percentage;};</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// struct Student { struct inner rollNumber; char studentName[10][3];}</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// char x = studentRecord[1].studentName[3][2];</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710"> 118</a></span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">LocationSet::accumulateConstantOffset</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword"></span>{</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  assert(isConstantOffset() && <span class="stringliteral">"not a constant offset"</span>);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span>(offsetValues.empty())</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> accumulateConstantFieldIdx();</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalConstOffset = 0;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = offsetValues.size() - 1; i >= 0; i--)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value = offsetValues[i].first;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = offsetValues[i].second;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *op = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>>(value);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  assert(op && <span class="stringliteral">"not a constant offset?"</span>);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span>(type==<span class="keyword">nullptr</span>)</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>  totalConstOffset += op->getSExtValue();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast<PointerType>(type))</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  totalConstOffset += op->getSExtValue() * getElementNum(<a class="code" href="classSVF_1_1SymbolTableInfo.html#aaeed05509be23fce24809b9cb21cdee2">SymbolTableInfo::getPtrElementType</a>(pty));</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op->getSExtValue();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8">getFlattenedElemIdx</a>(type, offset);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  totalConstOffset += flattenOffset;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> totalConstOffset;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f"> 153</a></span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">LocationSet::computeAllLocations</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword"></span>{</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(accumulateConstantFieldIdx());</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">return</span> result;</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"><a class="line" href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8"> 160</a></span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> <a class="code" href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">LocationSet::operator+ </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword"></span>{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> ls(rhs);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  ls.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> += accumulateConstantFieldIdx();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  OffsetValueVec::const_iterator it = getOffsetValueVec().begin();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  OffsetValueVec::const_iterator eit = getOffsetValueVec().end();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  ls.<a class="code" href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">addOffsetValue</a>(it->first, it->second);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> ls;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4"> 173</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4">LocationSet::operator< </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword"></span>{</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">if</span> (fldIdx != rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">return</span> (fldIdx < rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>& pairVec = getOffsetValueVec();</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>& rhsPairVec = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> (pairVec.size() < rhsPairVec.size());</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  OffsetValueVec::const_iterator it = pairVec.begin();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  OffsetValueVec::const_iterator rhsIt = rhsPairVec.begin();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">for</span> (; it != pairVec.end() && rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> (*it) < (*rhsIt);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  }</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10"> 197</a></span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">SVF::LocationSet::LSRelation</a> <a class="code" href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">LocationSet::checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& RHS)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">return</span> Same;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> Superset;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> Subset;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> Overlap;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">else</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> NonOverlap;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c"> 219</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">LocationSet::dump</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword"></span>{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  rawstr << <span class="stringliteral">"LocationSet\tField_Index: "</span> << accumulateConstantFieldIdx();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  rawstr << <span class="stringliteral">",\tNum-Stride: {"</span>;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>& vec = getOffsetValueVec();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  OffsetValueVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  OffsetValueVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  rawstr << <span class="stringliteral">" (value: "</span> << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(it->first) << <span class="stringliteral">" type: "</span> << it->second << <span class="stringliteral">")"</span>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  rawstr << <span class="stringliteral">" }\n"</span>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a4a9185282308c50f86fdf66f7060373d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">SVF::LocationSet::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00049">LocationSet.cpp:49</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aaeed05509be23fce24809b9cb21cdee2"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aaeed05509be23fce24809b9cb21cdee2">SVF::SymbolTableInfo::getPtrElementType</a></div><div class="ttdeci">static const Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00386">SymbolTableInfo.cpp:386</a></div></div>
|
|
71
|
-
<div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
71
|
+
<div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00047">BasicTypes.h:47</a></div></div>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a9bb7e08f7cfb2859d25b0e68e21fec89"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector< std::pair< const Value *, const Type * > > OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00057">LocationSet.h:57</a></div></div>
|
|
73
|
-
<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#
|
|
73
|
+
<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#l00062">BasicTypes.h:62</a></div></div>
|
|
74
74
|
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8fc42c2b02317621d6aeb3c5f52d3ee8"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const Type *T, u32_t origId)</div><div class="ttdoc">Flatterned element idx of an array or struct by considering stride. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00443">SymbolTableInfo.cpp:443</a></div></div>
|
|
75
|
-
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
75
|
+
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00082">SVFBasicTypes.h:82</a></div></div>
|
|
76
76
|
<div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
77
77
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a5c2c1baa17a70b997824002e4c159cbd"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">s32_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00132">LocationSet.h:132</a></div></div>
|
|
78
|
-
<div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
78
|
+
<div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
|
|
79
79
|
<div class="ttc" id="classSVF_1_1LocationSet_html_ad8e250859aa1cf6ce18c6c0b7bbb2710"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">s32_t accumulateConstantOffset() const</div><div class="ttdoc">Return accumulated constant offset given OffsetValueVec. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00118">LocationSet.cpp:118</a></div></div>
|
|
80
80
|
<div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00153">LocationSet.cpp:153</a></div></div>
|
|
81
|
-
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
81
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00081">SVFBasicTypes.h:81</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1LocationSet_html_aa2682a73f1ab2c32326fb4e0d5b3586b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">SVF::LocationSet::addOffsetValue</a></div><div class="ttdeci">bool addOffsetValue(const Value *offsetValue, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00042">LocationSet.cpp:42</a></div></div>
|
|
83
83
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a817a63e8330530cb18e077556f7ce518"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">SVF::SVFUtil::type2String</a></div><div class="ttdeci">const std::string type2String(const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00456">SVFUtil.cpp:456</a></div></div>
|
|
84
84
|
<div class="ttc" id="classSVF_1_1SparseBitVector_html_abbd0e0cf759fad7858224ed8a63aade8"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">SVF::SparseBitVector::contains</a></div><div class="ttdeci">bool contains(const SparseBitVector< ElementSize > &RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01071">SparseBitVector.h:1071</a></div></div>
|
|
85
85
|
<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>
|
|
86
86
|
<div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
|
|
87
|
-
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
87
|
+
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00057">BasicTypes.h:57</a></div></div>
|
|
88
88
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a67387c3b42fcc1bb3ee8fe85bda02ba8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">SVF::LocationSet::operator+</a></div><div class="ttdeci">LocationSet operator+(const LocationSet &rhs) const</div><div class="ttdoc">Overload operators. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00160">LocationSet.cpp:160</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1LocationSet_html_ac66b56e1fa180be9b09d7bfe653ff311"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">SVF::LocationSet::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const Type *type) const</div><div class="ttdoc">Return element number of a type. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00063">LocationSet.cpp:63</a></div></div>
|
|
90
90
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
@@ -99,9 +99,9 @@ $(function() {
|
|
|
99
99
|
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec579894eed558ea89740b68360187aa"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa">SVF::SymbolTableInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements(const Type *T)</div><div class="ttdoc">Number of flattenned elements of an array or struct. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00434">SymbolTableInfo.cpp:434</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00048">LocationSet.h:48</a></div></div>
|
|
101
101
|
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00745">SparseBitVector.h:745</a></div></div>
|
|
102
|
-
<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#
|
|
102
|
+
<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#l00344">Casting.h:344</a></div></div>
|
|
103
103
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
104
|
-
<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#
|
|
104
|
+
<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#l00050">BasicTypes.h:50</a></div></div>
|
|
105
105
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a53f1b2e417682a56d45dfb1f7d5ccd1c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">SVF::LocationSet::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00219">LocationSet.cpp:219</a></div></div>
|
|
106
106
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a4e839125b32c7cb3ad07fbec6f203c10"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">SVF::LocationSet::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const LocationSet &LHS, const LocationSet &RHS)</div><div class="ttdoc">Check relations of two location sets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00197">LocationSet.cpp:197</a></div></div>
|
|
107
107
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec & getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00098">LocationSet.h:98</a></div></div>
|
|
@@ -69,16 +69,16 @@ $(function() {
|
|
|
69
69
|
<a href="LocationSet_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- LocationSet.h -- Location set of abstract object-----------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * @file: LocationSet.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * @author: yesen</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * @date: 26 Sep 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * LICENSE</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> */</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifndef LOCATIONSET_H_</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define LOCATIONSET_H_</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="Util_2BasicTypes_8h.html">Util/BasicTypes.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/*</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * Location set represents a set of locations in a memory block with following offsets:</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * { offset + \sum_{i=0}^N (stride_i * j_i) | 0 \leq j_i < M_i }</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * where N is the size of number-stride pair vector, M_i (stride_i) is i-th number (stride)</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * in the number-stride pair vector.</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> */</span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html"> 48</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a32ddec529ccbf4ea6336e5fd765164d8"> 50</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SymbolTableInfo.html">SymbolTableInfo</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f"> 52</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"> 54</a></span>  <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  };</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89"> 57</a></span>  <span class="keyword">typedef</span> std::vector<std::pair<const Value*, const Type*> > <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba"> 60</a></span>  <a class="code" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba">LocationSet</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> o = 0) : <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>(o)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {}</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9"> 64</a></span>  <a class="code" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9">LocationSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& ls)</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  : <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>), <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9"> 69</a></span>  <a class="code" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9">~LocationSet</a>() {}</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> <a class="code" href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">operator+ </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4">operator< </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107"> 75</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& <a class="code" href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107">operator= </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& rhs)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232"> 81</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> == rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  && this-><a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> == rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853"> 90</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f"> 94</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f">setFldIdx</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> idx)</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>  <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> = idx;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c"> 98</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> OffsetValueVec& <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">accumulateConstantOffset</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>) <span class="keyword">const</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">addOffsetValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* offsetValue, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8"> 116</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& RHS)<span class="keyword"> const</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>());</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">dump</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a> <a class="code" href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& RHS);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd"> 132</a></span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>; </div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30"> 133</a></span>  OffsetValueVec <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>; </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> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html"> 138</a></span> <span class="keyword">template</span> <> <span class="keyword">struct </span>std::hash<<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba">LocationSet</a>></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984"> 140</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">SVF::LocationSet</a> &ls)<span class="keyword"> const</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="structSVF_1_1Hash.html">SVF::Hash<std::pair<SVF::NodeID, SVF::NodeID></a>> h;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  std::hash<SVF::LocationSet::OffsetValueVec> v;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> h(std::make_pair(ls.<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>(), v(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> };</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor">#endif </span><span class="comment">/* LOCATIONSET_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1LocationSet_html_a4a9185282308c50f86fdf66f7060373d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">SVF::LocationSet::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00049">LocationSet.cpp:49</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a0e1cddc4228e310c95f68c661c7b94c8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">SVF::LocationSet::intersects</a></div><div class="ttdeci">bool intersects(const LocationSet &RHS) const</div><div class="ttdoc">Return TRUE if we share any location in common with RHS. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00116">LocationSet.h:116</a></div></div>
|
|
71
71
|
<div class="ttc" id="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4_html_a701401db0e876205424e9cc797fb5984"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984">std::hash< SVF::LocationSet >::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::LocationSet &ls) const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00140">LocationSet.h:140</a></div></div>
|
|
72
|
-
<div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
72
|
+
<div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00047">BasicTypes.h:47</a></div></div>
|
|
73
73
|
<div class="ttc" id="Util_2BasicTypes_8h_html"><div class="ttname"><a href="Util_2BasicTypes_8h.html">BasicTypes.h</a></div></div>
|
|
74
74
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a9bb7e08f7cfb2859d25b0e68e21fec89"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector< std::pair< const Value *, const Type * > > OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00057">LocationSet.h:57</a></div></div>
|
|
75
|
-
<div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
76
|
-
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
75
|
+
<div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
|
|
76
|
+
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00082">SVFBasicTypes.h:82</a></div></div>
|
|
77
77
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a5c2c1baa17a70b997824002e4c159cbd"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">s32_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00132">LocationSet.h:132</a></div></div>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1LocationSet_html_ad8e250859aa1cf6ce18c6c0b7bbb2710"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">s32_t accumulateConstantOffset() const</div><div class="ttdoc">Return accumulated constant offset given OffsetValueVec. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00118">LocationSet.cpp:118</a></div></div>
|
|
79
79
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
|
|
80
80
|
<div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00153">LocationSet.cpp:153</a></div></div>
|
|
81
|
-
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
81
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00081">SVFBasicTypes.h:81</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a00ae12aee8018f1eb88f011e52762be9"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9">SVF::LocationSet::~LocationSet</a></div><div class="ttdeci">~LocationSet()</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00069">LocationSet.h:69</a></div></div>
|
|
83
83
|
<div class="ttc" id="classSVF_1_1LocationSet_html_aa2682a73f1ab2c32326fb4e0d5b3586b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">SVF::LocationSet::addOffsetValue</a></div><div class="ttdeci">bool addOffsetValue(const Value *offsetValue, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00042">LocationSet.cpp:42</a></div></div>
|
|
84
84
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">SVF::LocationSet::Subset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
|
|
@@ -101,7 +101,7 @@ $(function() {
|
|
|
101
101
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a15975ec54c93c39fb1ed59599e5ec107"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107">SVF::LocationSet::operator=</a></div><div class="ttdeci">const LocationSet & operator=(const LocationSet &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00075">LocationSet.h:75</a></div></div>
|
|
102
102
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">SVF::LocationSet::NonOverlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
|
|
103
103
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
104
|
-
<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#
|
|
104
|
+
<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#l00050">BasicTypes.h:50</a></div></div>
|
|
105
105
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a53f1b2e417682a56d45dfb1f7d5ccd1c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">SVF::LocationSet::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00219">LocationSet.cpp:219</a></div></div>
|
|
106
106
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a4e839125b32c7cb3ad07fbec6f203c10"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">SVF::LocationSet::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const LocationSet &LHS, const LocationSet &RHS)</div><div class="ttdoc">Check relations of two location sets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00197">LocationSet.cpp:197</a></div></div>
|
|
107
107
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec & getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00098">LocationSet.h:98</a></div></div>
|
|
@@ -70,20 +70,20 @@ $(function() {
|
|
|
70
70
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
|
|
71
71
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_af904cd58192dccb85572cfa95f5ea670"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af904cd58192dccb85572cfa95f5ea670">SVF::LLVMUtil::getPrevInsts</a></div><div class="ttdeci">void getPrevInsts(const Instruction *curInst, std::vector< const Instruction *> &instList)</div><div class="ttdoc">Get the previous instructions following control flow. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00286">LLVMUtil.cpp:286</a></div></div>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00186">GenericGraph.h:186</a></div></div>
|
|
73
|
-
<div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
73
|
+
<div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00170">SVFBasicTypes.h:170</a></div></div>
|
|
74
74
|
<div class="ttc" id="classSVF_1_1LockResultValidator_html"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html">SVF::LockResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00018">LockResultValidator.h:18</a></div></div>
|
|
75
75
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a9db4df7968ec179e5012794c58fdee70"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a9db4df7968ec179e5012794c58fdee70">SVF::ThreadAPI::isTDAcquire</a></div><div class="ttdeci">bool isTDAcquire(const Instruction *inst) const</div><div class="ttdoc">Return true if this call acquire a lock. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00283">ThreadAPI.h:283</a></div></div>
|
|
76
76
|
<div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
|
|
77
77
|
<div class="ttc" id="namespaceLLVMUtil_html"><div class="ttname"><a href="namespaceLLVMUtil.html">LLVMUtil</a></div></div>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
79
79
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_a3ef84be7e91335c7b35c395d247f85ae"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a3ef84be7e91335c7b35c395d247f85ae">SVF::LLVMUtil::getFunExitBB</a></div><div class="ttdeci">const BasicBlock * getFunExitBB(const SVFFunction *svfFun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00167">LLVMUtil.h:167</a></div></div>
|
|
80
|
-
<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#
|
|
80
|
+
<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#l00093">BasicTypes.h:93</a></div></div>
|
|
81
81
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a4245d946dd694b59b5c8ef30b08cb1dd"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a4245d946dd694b59b5c8ef30b08cb1dd">SVF::LockAnalysis::isInSameCSSpan</a></div><div class="ttdeci">bool isInSameCSSpan(const Instruction *i1, const Instruction *i2) const</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00721">LockAnalysis.cpp:721</a></div></div>
|
|
82
|
-
<div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
82
|
+
<div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
83
83
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a842ddef4d1cb9c45555d949375627a48"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a842ddef4d1cb9c45555d949375627a48">SVF::LockAnalysis::isProtectedByCommonCILock</a></div><div class="ttdeci">bool isProtectedByCommonCILock(const Instruction *i1, const Instruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00607">LockAnalysis.cpp:607</a></div></div>
|
|
84
84
|
<div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
85
85
|
<div class="ttc" id="classSVF_1_1Options_html_a78b3b44f2c0dc94dc1363ca57ee76d66"><div class="ttname"><a href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">SVF::Options::LockValid</a></div><div class="ttdeci">static const llvm::cl::opt< bool > LockValid</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00187">Options.h:187</a></div></div>
|
|
86
|
-
<div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
86
|
+
<div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00281">BasicTypes.h:281</a></div></div>
|
|
87
87
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_ad1516b6cb1dbd06b8dff04ae3c944621"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ad1516b6cb1dbd06b8dff04ae3c944621">SVF::LockAnalysis::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00064">LockAnalysis.cpp:64</a></div></div>
|
|
88
88
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1TCT_html_afb579a5bdcc0a1c6b075bb9aae36c237"><div class="ttname"><a href="classSVF_1_1TCT.html#afb579a5bdcc0a1c6b075bb9aae36c237">SVF::TCT::PTACGNodeSet</a></div><div class="ttdeci">Set< const PTACallGraphNode * > PTACGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00146">TCT.h:146</a></div></div>
|
|
@@ -101,12 +101,12 @@ $(function() {
|
|
|
101
101
|
<div class="ttc" id="classSVF_1_1RaceResultValidator_html_aec8b923a0da580113a13bf94ffb3ebd7"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#aec8b923a0da580113a13bf94ffb3ebd7">SVF::RaceResultValidator::init</a></div><div class="ttdeci">void init(SVFModule *M)</div><div class="ttdoc">Initialization. </div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00215">MTAResultValidator.h:215</a></div></div>
|
|
102
102
|
<div class="ttc" id="classSVF_1_1RaceResultValidator_html_ab8a261120a7f6520d22a6f5cdf2257e9"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#ab8a261120a7f6520d22a6f5cdf2257e9">SVF::RaceResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdoc">Analysis. </div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00223">MTAResultValidator.h:223</a></div></div>
|
|
103
103
|
<div class="ttc" id="classSVF_1_1RaceValidator_html_a7ec5d97155d170033398757af56691ad"><div class="ttname"><a href="classSVF_1_1RaceValidator.html#a7ec5d97155d170033398757af56691ad">SVF::RaceValidator::RaceValidator</a></div><div class="ttdeci">RaceValidator(LockAnalysis *ls)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00051">LockAnalysis.cpp:51</a></div></div>
|
|
104
|
-
<div class="ttc" id="namespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector< u32_t > CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
104
|
+
<div class="ttc" id="namespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector< u32_t > CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00126">SVFBasicTypes.h:126</a></div></div>
|
|
105
105
|
<div class="ttc" id="MTAResultValidator_8h_html"><div class="ttname"><a href="MTAResultValidator_8h.html">MTAResultValidator.h</a></div></div>
|
|
106
106
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
|
|
107
|
-
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
107
|
+
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00048">BasicTypes.h:48</a></div></div>
|
|
108
108
|
<div class="ttc" id="LockResultValidator_8h_html"><div class="ttname"><a href="LockResultValidator_8h.html">LockResultValidator.h</a></div></div>
|
|
109
|
-
<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#
|
|
109
|
+
<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#l00051">BasicTypes.h:51</a></div></div>
|
|
110
110
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a65aca2bc12fc34203b16549653943eae"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a65aca2bc12fc34203b16549653943eae">SVF::LockAnalysis::isInSameCISpan</a></div><div class="ttdeci">bool isInSameCISpan(const Instruction *i1, const Instruction *i2) const</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00686">LockAnalysis.cpp:686</a></div></div>
|
|
111
111
|
<div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
|
|
112
112
|
<div class="ttc" id="classSVF_1_1PTACallGraphEdge_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00051">PTACallGraph.h:51</a></div></div>
|
|
@@ -116,7 +116,7 @@ $(function() {
|
|
|
116
116
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_aeb4b15ecc4ba1a0ca8794d304d1895cb"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#aeb4b15ecc4ba1a0ca8794d304d1895cb">SVF::LockAnalysis::InstVec</a></div><div class="ttdeci">TCT::InstVec InstVec</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00061">LockAnalysis.h:61</a></div></div>
|
|
117
117
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html">SVF::LockAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00045">LockAnalysis.h:45</a></div></div>
|
|
118
118
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a8a34f7544f22a87e1caf010c34abda75"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">SVF::LockAnalysis::analyzeIntraProcedualLock</a></div><div class="ttdeci">void analyzeIntraProcedualLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00165">LockAnalysis.cpp:165</a></div></div>
|
|
119
|
-
<div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
119
|
+
<div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00089">SVFBasicTypes.h:89</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html_adf17f5699c9f40ffc8837e813e3af3ec"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">SVF::PTACallGraphNode::const_iterator</a></div><div class="ttdeci">PTACallGraphEdge::CallGraphEdgeSet::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00180">PTACallGraph.h:180</a></div></div>
|
|
121
121
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a42ed881d4cd79eae099266a9e171aeb2"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a42ed881d4cd79eae099266a9e171aeb2">SVF::LockAnalysis::CxtStmtSet</a></div><div class="ttdeci">Set< CxtStmt > CxtStmtSet</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00070">LockAnalysis.h:70</a></div></div>
|
|
122
122
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
@@ -126,7 +126,7 @@ $(function() {
|
|
|
126
126
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
|
|
127
127
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a561bb2fbfbeee9117efad7c7c70871d8"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a561bb2fbfbeee9117efad7c7c70871d8">SVF::LockAnalysis::FunSet</a></div><div class="ttdeci">Set< const Function * > FunSet</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00065">LockAnalysis.h:65</a></div></div>
|
|
128
128
|
<div class="ttc" id="classSVF_1_1CxtStmt_html"><div class="ttname"><a href="classSVF_1_1CxtStmt.html">SVF::CxtStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00041">CxtStmt.h:41</a></div></div>
|
|
129
|
-
<div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
129
|
+
<div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00177">SVFBasicTypes.h:177</a></div></div>
|
|
130
130
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a5f693c893f3701e1e025881f91193d53"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a5f693c893f3701e1e025881f91193d53">SVF::LockAnalysis::intraBackwardTraverse</a></div><div class="ttdeci">bool intraBackwardTraverse(const InstSet &unlockset, InstSet &backwardInsts)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00237">LockAnalysis.cpp:237</a></div></div>
|
|
131
131
|
<div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
132
132
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_aa8683de99ad02fb75b175b0bb54e5f7d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#aa8683de99ad02fb75b175b0bb54e5f7d">SVF::LockAnalysis::collectLockUnlocksites</a></div><div class="ttdeci">void collectLockUnlocksites()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00094">LockAnalysis.cpp:94</a></div></div>
|
|
@@ -134,22 +134,22 @@ $(function() {
|
|
|
134
134
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a935128c9952714fcc98febed491ee85d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a935128c9952714fcc98febed491ee85d">SVF::LockAnalysis::validateResults</a></div><div class="ttdeci">void validateResults()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00742">LockAnalysis.cpp:742</a></div></div>
|
|
135
135
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_ae03db88ef0ad0da2c31cf1623b32165f"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ae03db88ef0ad0da2c31cf1623b32165f">SVF::LockAnalysis::collectCxtLock</a></div><div class="ttdeci">void collectCxtLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00281">LockAnalysis.cpp:281</a></div></div>
|
|
136
136
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a97b186f9417144557bb17c41d515a9f4"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a97b186f9417144557bb17c41d515a9f4">SVF::LockAnalysis::handleCall</a></div><div class="ttdeci">void handleCall(const CxtStmt &cts)</div><div class="ttdoc">Handle call. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00451">LockAnalysis.cpp:451</a></div></div>
|
|
137
|
-
<div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
137
|
+
<div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00155">SVFBasicTypes.h:155</a></div></div>
|
|
138
138
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_acc3d402c68b9c22ab6d576b38c994fc6"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#acc3d402c68b9c22ab6d576b38c994fc6">SVF::LockAnalysis::handleRet</a></div><div class="ttdeci">void handleRet(const CxtStmt &cts)</div><div class="ttdoc">Handle return. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00475">LockAnalysis.cpp:475</a></div></div>
|
|
139
139
|
<div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a750e50a9022451e406c4819979edffa5"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a750e50a9022451e406c4819979edffa5">SVF::PTACallGraphEdge::directCallsBegin</a></div><div class="ttdeci">CallInstSet::const_iterator directCallsBegin() const</div><div class="ttdoc">Iterators for direct and indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00122">PTACallGraph.h:122</a></div></div>
|
|
140
140
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00137">WorkList.h:137</a></div></div>
|
|
141
141
|
<div class="ttc" id="classSVF_1_1CxtStmt_html_a3ce19b8f2de2e199ed4165dbe9d21f28"><div class="ttname"><a href="classSVF_1_1CxtStmt.html#a3ce19b8f2de2e199ed4165dbe9d21f28">SVF::CxtStmt::getContext</a></div><div class="ttdeci">const CallStrCxt & getContext() const</div><div class="ttdoc">Return current context. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00057">CxtStmt.h:57</a></div></div>
|
|
142
142
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
143
143
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00070">LLVMModule.h:70</a></div></div>
|
|
144
|
-
<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#
|
|
144
|
+
<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#l00119">BasicTypes.h:119</a></div></div>
|
|
145
145
|
<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>
|
|
146
146
|
<div class="ttc" id="classSVF_1_1RaceValidator_html"><div class="ttname"><a href="classSVF_1_1RaceValidator.html">SVF::RaceValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00048">LockAnalysis.cpp:48</a></div></div>
|
|
147
147
|
<div class="ttc" id="classSVF_1_1CxtProc_html_a99b0f68b4cbd733f91eea33aa3e64eb7"><div class="ttname"><a href="classSVF_1_1CxtProc.html#a99b0f68b4cbd733f91eea33aa3e64eb7">SVF::CxtProc::getContext</a></div><div class="ttdeci">const CallStrCxt & getContext() const</div><div class="ttdoc">Return current context. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00330">CxtStmt.h:330</a></div></div>
|
|
148
148
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
|
|
149
149
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a711760ebaed0437176f4f9d314e9929c"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a711760ebaed0437176f4f9d314e9929c">SVF::LockAnalysis::handleIntra</a></div><div class="ttdeci">void handleIntra(const CxtStmt &cts)</div><div class="ttdoc">Handle intra. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00524">LockAnalysis.cpp:524</a></div></div>
|
|
150
|
-
<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#
|
|
150
|
+
<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#l00273">BasicTypes.h:273</a></div></div>
|
|
151
151
|
<div class="ttc" id="MTA_8h_html"><div class="ttname"><a href="MTA_8h.html">MTA.h</a></div></div>
|
|
152
|
-
<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#
|
|
152
|
+
<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#l00344">Casting.h:344</a></div></div>
|
|
153
153
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a00ccd89eff3fe8fec397df101f927cbe"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe">SVF::LockAnalysis::analyzeLockSpanCxtStmt</a></div><div class="ttdeci">void analyzeLockSpanCxtStmt()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00353">LockAnalysis.cpp:353</a></div></div>
|
|
154
154
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a7d9fd3ddcadd84969b57491181983b17"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a7d9fd3ddcadd84969b57491181983b17">SVF::LockAnalysis::pushCxt</a></div><div class="ttdeci">void pushCxt(CallStrCxt &cxt, const Instruction *call, const Function *callee)</div><div class="ttdoc">Push calling context. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00540">LockAnalysis.cpp:540</a></div></div>
|
|
155
155
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00051">SVFModule.h:51</a></div></div>
|
|
@@ -161,14 +161,14 @@ $(function() {
|
|
|
161
161
|
<div class="ttc" id="classSVF_1_1LockResultValidator_html_a88ff3ed1398a0b847d71a4c0352ed66d"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">SVF::LockResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8cpp_source.html#l00166">LockResultValidator.cpp:166</a></div></div>
|
|
162
162
|
<div class="ttc" id="classSVF_1_1RaceResultValidator_html"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html">SVF::RaceResultValidator</a></div><div class="ttdoc">Validate the result of concurrent analysis. </div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00168">MTAResultValidator.h:168</a></div></div>
|
|
163
163
|
<div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_afbdb582d20ab953b2de1f3efacb74679"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#afbdb582d20ab953b2de1f3efacb74679">SVF::PTACallGraphEdge::indirectCallsBegin</a></div><div class="ttdeci">CallInstSet::const_iterator indirectCallsBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00131">PTACallGraph.h:131</a></div></div>
|
|
164
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
164
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00185">BasicTypes.h:185</a></div></div>
|
|
165
165
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a4d4501d62bf51475662b6ba66e6380aa"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a4d4501d62bf51475662b6ba66e6380aa">SVF::LockAnalysis::isProtectedByCommonLock</a></div><div class="ttdeci">bool isProtectedByCommonLock(const Instruction *i1, const Instruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00590">LockAnalysis.cpp:590</a></div></div>
|
|
166
166
|
<div class="ttc" id="PTAStat_8h_html"><div class="ttname"><a href="PTAStat_8h.html">PTAStat.h</a></div></div>
|
|
167
|
-
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
167
|
+
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00150">SVFBasicTypes.h:150</a></div></div>
|
|
168
168
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
|
|
169
169
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a52e79d50288bfa2d146072be53ed058b"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a52e79d50288bfa2d146072be53ed058b">SVF::LockAnalysis::handleFork</a></div><div class="ttdeci">void handleFork(const CxtStmt &cts)</div><div class="ttdoc">Handle fork. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00429">LockAnalysis.cpp:429</a></div></div>
|
|
170
170
|
<div class="ttc" id="classSVF_1_1LockAnalysis_html_a271506d5032033efae684b0d729f5b3e"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a271506d5032033efae684b0d729f5b3e">SVF::LockAnalysis::buildCandidateFuncSetforLock</a></div><div class="ttdeci">void buildCandidateFuncSetforLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00117">LockAnalysis.cpp:117</a></div></div>
|
|
171
|
-
<div class="ttc" id="SVFBasicTypes_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
171
|
+
<div class="ttc" id="SVFBasicTypes_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00152">SVFBasicTypes.h:152</a></div></div>
|
|
172
172
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a547b3bc62de65b9dbfc6dee55c063dd7"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00114">LLVMModule.h:114</a></div></div>
|
|
173
173
|
<div class="ttc" id="classSVF_1_1CxtProc_html"><div class="ttname"><a href="classSVF_1_1CxtProc.html">SVF::CxtProc</a></div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00307">CxtStmt.h:307</a></div></div>
|
|
174
174
|
<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>
|