svf-tools 1.0.458 → 1.0.461
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/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ExeState_8cpp.html +1 -0
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +26 -25
- package/SVF-doxygen/html/html/ExeState_8h_source.html +13 -13
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +21 -21
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp.html +1 -0
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +15 -14
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +46 -46
- package/SVF-doxygen/html/html/MHP_8h.html +1 -0
- package/SVF-doxygen/html/html/MHP_8h_source.html +102 -101
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +10 -10
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8h_source.html +4 -5
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PathCondAllocator_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 +5 -5
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +23 -23
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +68 -50
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +51 -50
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +52 -52
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +37 -37
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +19 -19
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
- package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVFVariables_8cpp.html +1 -0
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +35 -32
- package/SVF-doxygen/html/html/SVFVariables_8h.html +0 -1
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +141 -143
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +54 -54
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +1 -0
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +99 -95
- package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +144 -146
- package/SVF-doxygen/html/html/TCT_8cpp.html +1 -0
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +41 -40
- package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +4 -4
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -4
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -69
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
- 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_1AddrCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +183 -183
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -11
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +177 -177
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +25 -26
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +99 -99
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +62 -62
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +74 -74
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +99 -107
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +84 -84
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +231 -247
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
- package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
- package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
- package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
- package/SVF-doxygen/html/html/functions_a.html +5 -8
- package/SVF-doxygen/html/html/functions_c.html +9 -5
- package/SVF-doxygen/html/html/functions_f.html +6 -4
- package/SVF-doxygen/html/html/functions_func.html +10 -13
- package/SVF-doxygen/html/html/functions_func_g.html +11 -12
- package/SVF-doxygen/html/html/functions_func_h.html +1 -1
- package/SVF-doxygen/html/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +11 -12
- package/SVF-doxygen/html/html/functions_h.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +1 -1
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +1 -4
- package/SVF-doxygen/html/html/functions_n.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +14 -14
- package/SVF-doxygen/html/html/functions_p.html +11 -11
- package/SVF-doxygen/html/html/functions_r.html +7 -5
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_t.html +6 -4
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
- package/SVF-doxygen/html/html/globals_c.html +103 -100
- package/SVF-doxygen/html/html/globals_s.html +6 -10
- package/SVF-doxygen/html/html/globals_type.html +3 -0
- package/SVF-doxygen/html/html/namespaceSVF.html +31 -67
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +105 -63
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +27 -27
- package/SVF-doxygen/html/html/namespacemembers_c.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_type.html +0 -6
- package/SVF-doxygen/html/html/search/all_1.js +0 -1
- package/SVF-doxygen/html/html/search/all_10.js +8 -8
- package/SVF-doxygen/html/html/search/all_12.js +3 -3
- package/SVF-doxygen/html/html/search/all_13.js +10 -11
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +4 -4
- package/SVF-doxygen/html/html/search/all_8.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +0 -1
- package/SVF-doxygen/html/html/search/all_e.js +6 -6
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/functions_0.js +0 -1
- package/SVF-doxygen/html/html/search/functions_10.js +3 -3
- package/SVF-doxygen/html/html/search/functions_6.js +4 -4
- package/SVF-doxygen/html/html/search/functions_7.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_d.js +0 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
- package/include/DDA/DDAPass.h +1 -1
- package/include/Graphs/SVFGEdge.h +0 -12
- package/include/MTA/LockResultValidator.h +1 -1
- package/include/MTA/MHP.h +1 -0
- package/include/MTA/MTA.h +1 -1
- package/include/MTA/MTAAnnotator.h +1 -1
- package/include/MTA/MTAResultValidator.h +1 -1
- package/include/MemoryModel/SVFVariables.h +1 -8
- package/include/MemoryModel/SymbolTableInfo.h +2 -22
- package/include/SVF-FE/BasicTypes.h +1 -0
- package/include/SVF-FE/BreakConstantExpr.h +2 -2
- package/include/Util/BasicTypes.h +1 -3
- package/include/Util/SVFBasicTypes.h +1 -1
- package/include/Util/SVFUtil.h +16 -1
- package/include/WPA/WPAPass.h +1 -1
- package/lib/MTA/LockResultValidator.cpp +2 -2
- package/lib/MTA/MTAResultValidator.cpp +2 -2
- package/lib/MTA/TCT.cpp +1 -0
- package/lib/MemoryModel/LocationSet.cpp +1 -0
- package/lib/MemoryModel/SVFVariables.cpp +10 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +26 -0
- package/lib/SVF-FE/DCHG.cpp +8 -8
- package/lib/Util/ExeState.cpp +1 -0
- package/lib/Util/PTAStat.cpp +11 -3
- package/lib/Util/SVFUtil.cpp +3 -3
- package/lib/Util/ThreadAPI.cpp +12 -4
- package/package.json +1 -1
|
@@ -5726,7 +5726,7 @@ S: MTR_SOFT </li>
|
|
|
5726
5726
|
<p>SeeAlso [] </p>
|
|
5727
5727
|
|
|
5728
5728
|
<p class="definition">Definition at line <a class="el" href="cuddInt_8c_source.html#l20917">20917</a> of file <a class="el" href="cuddInt_8c_source.html">cuddInt.c</a>.</p>
|
|
5729
|
-
<div class="fragment"><div class="line"><a name="l20920"></a><span class="lineno">20920</span> {</div><div class="line"><a name="l20921"></a><span class="lineno">20921</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slots, oldslots;</div><div class="line"><a name="l20922"></a><span class="lineno">20922</span> <span class="keywordtype">int</span> shift, oldshift;</div><div class="line"><a name="l20923"></a><span class="lineno">20923</span> <span class="keywordtype">int</span> j, pos;</div><div class="line"><a name="l20924"></a><span class="lineno">20924</span> <a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist, *oldnodelist;</div><div class="line"><a name="l20925"></a><span class="lineno">20925</span> <a class="code" href="structDdNode.html">DdNode</a> *node, *next;</div><div class="line"><a name="l20926"></a><span class="lineno">20926</span> <a class="code" href="structDdNode.html">DdNode</a> *sentinel = &(unique-><a class="code" href="structDdManager.html#a8679aac5ecef09b42b3cf11786d57139">sentinel</a>);</div><div class="line"><a name="l20927"></a><span class="lineno">20927</span> <a class="code" href="unionhack.html">hack</a> split;</div><div class="line"><a name="l20928"></a><span class="lineno">20928</span> <span class="keyword">extern</span> <a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20929"></a><span class="lineno">20929</span> <a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> saveHandler;</div><div class="line"><a name="l20930"></a><span class="lineno">20930</span> </div><div class="line"><a name="l20931"></a><span class="lineno">20931</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> == <a class="code" href="cuddInt_8h.html#a000b28ff395aeb4c1ca8bc720f07753f">DD_GC_FRAC_HI</a> && unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> > unique-><a class="code" href="structDdManager.html#a08442885cc19bd4e63ee8ca294669efa">looseUpTo</a>) {</div><div class="line"><a name="l20932"></a><span class="lineno">20932</span> unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>;</div><div class="line"><a name="l20933"></a><span class="lineno">20933</span> unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a> * (<span class="keywordtype">double</span>) unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20934"></a><span class="lineno">20934</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20935"></a><span class="lineno">20935</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"GC fraction = %.2f\t"</span>, <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>);</div><div class="line"><a name="l20936"></a><span class="lineno">20936</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"minDead = %d\n"</span>, unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20937"></a><span class="lineno">20937</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20938"></a><span class="lineno">20938</span> }</div><div class="line"><a name="l20939"></a><span class="lineno">20939</span> </div><div class="line"><a name="l20940"></a><span class="lineno">20940</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> != <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> && unique-><a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> > unique-><a class="code" href="structDdManager.html#aca692386284b334539799b3753e0e7b9">maxmem</a>) {</div><div class="line"><a name="l20941"></a><span class="lineno">20941</span> unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>;</div><div class="line"><a name="l20942"></a><span class="lineno">20942</span> unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> * (<span class="keywordtype">double</span>) unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20943"></a><span class="lineno">20943</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20944"></a><span class="lineno">20944</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"GC fraction = %.2f\t"</span>, <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>);</div><div class="line"><a name="l20945"></a><span class="lineno">20945</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"minDead = %d\n"</span>, unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20946"></a><span class="lineno">20946</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20947"></a><span class="lineno">20947</span> <a class="code" href="cuddInt_8c.html#a68543f5aa10af3730f82919fdac4fd98">cuddShrinkDeathRow</a>(unique);</div><div class="line"><a name="l20948"></a><span class="lineno">20948</span> <span class="keywordflow">if</span> (<a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1) > 0) <span class="keywordflow">return</span>;</div><div class="line"><a name="l20949"></a><span class="lineno">20949</span> }</div><div class="line"><a name="l20950"></a><span class="lineno">20950</span> </div><div class="line"><a name="l20951"></a><span class="lineno">20951</span> <span class="keywordflow">if</span> (i != <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>) {</div><div class="line"><a name="l20952"></a><span class="lineno">20952</span> oldslots = unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l20953"></a><span class="lineno">20953</span> oldshift = unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l20954"></a><span class="lineno">20954</span> oldnodelist = unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20955"></a><span class="lineno">20955</span> </div><div class="line"><a name="l20956"></a><span class="lineno">20956</span> <span class="comment">/* Compute the new size of the subtable. */</span></div><div class="line"><a name="l20957"></a><span class="lineno">20957</span> slots = oldslots << 1;</div><div class="line"><a name="l20958"></a><span class="lineno">20958</span> shift = oldshift - 1;</div><div class="line"><a name="l20959"></a><span class="lineno">20959</span> </div><div class="line"><a name="l20960"></a><span class="lineno">20960</span> saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20961"></a><span class="lineno">20961</span> MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l20962"></a><span class="lineno">20962</span> nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l20963"></a><span class="lineno">20963</span> MMoutOfMemory = saveHandler;</div><div class="line"><a name="l20964"></a><span class="lineno">20964</span> <span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l20965"></a><span class="lineno">20965</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l20966"></a><span class="lineno">20966</span> <span class="stringliteral">"Unable to resize subtable %d for lack of memory\n"</span>,</div><div class="line"><a name="l20967"></a><span class="lineno">20967</span> i);</div><div class="line"><a name="l20968"></a><span class="lineno">20968</span> <span class="comment">/* Prevent frequent resizing attempts. */</span></div><div class="line"><a name="l20969"></a><span class="lineno">20969</span> (void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20970"></a><span class="lineno">20970</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> != NULL) {</div><div class="line"><a name="l20971"></a><span class="lineno">20971</span> <a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(unique-><a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a>);</div><div class="line"><a name="l20972"></a><span class="lineno">20972</span> unique-><a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> = NULL;</div><div class="line"><a name="l20973"></a><span class="lineno">20973</span> <span class="comment">/* Inhibit resizing of tables. */</span></div><div class="line"><a name="l20974"></a><span class="lineno">20974</span> <a class="code" href="cuddInt_8c.html#a917f877ac725fc2d169102ab9d7aec97">cuddSlowTableGrowth</a>(unique);</div><div class="line"><a name="l20975"></a><span class="lineno">20975</span> }</div><div class="line"><a name="l20976"></a><span class="lineno">20976</span> <span class="keywordflow">return</span>;</div><div class="line"><a name="l20977"></a><span class="lineno">20977</span> }</div><div class="line"><a name="l20978"></a><span class="lineno">20978</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l20979"></a><span class="lineno">20979</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l20980"></a><span class="lineno">20980</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l20981"></a><span class="lineno">20981</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l20982"></a><span class="lineno">20982</span> </div><div class="line"><a name="l20983"></a><span class="lineno">20983</span> <span class="comment">/* Move the nodes from the old table to the new table.</span></div><div class="line"><a name="l20984"></a><span class="lineno">20984</span> <span class="comment">** This code depends on the type of hash function.</span></div><div class="line"><a name="l20985"></a><span class="lineno">20985</span> <span class="comment">** It assumes that the effect of doubling the size of the table</span></div><div class="line"><a name="l20986"></a><span class="lineno">20986</span> <span class="comment">** is to retain one more bit of the 32-bit hash value.</span></div><div class="line"><a name="l20987"></a><span class="lineno">20987</span> <span class="comment">** The additional bit is the LSB. */</span></div><div class="line"><a name="l20988"></a><span class="lineno">20988</span> <span class="keywordflow">for</span> (j = 0; (unsigned) j < oldslots; j++) {</div><div class="line"><a name="l20989"></a><span class="lineno">20989</span> <a class="code" href="structDdNode.html">DdNodePtr</a> *evenP, *oddP;</div><div class="line"><a name="l20990"></a><span class="lineno">20990</span> node = oldnodelist[j];</div><div class="line"><a name="l20991"></a><span class="lineno">20991</span> evenP = &(nodelist[j<<1]);</div><div class="line"><a name="l20992"></a><span class="lineno">20992</span> oddP = &(nodelist[(j<<1)+1]);</div><div class="line"><a name="l20993"></a><span class="lineno">20993</span> <span class="keywordflow">while</span> (node != sentinel) {</div><div class="line"><a name="l20994"></a><span class="lineno">20994</span> next = node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20995"></a><span class="lineno">20995</span> pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(<a class="code" href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a>(node), <a class="code" href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a>(node), shift);</div><div class="line"><a name="l20996"></a><span class="lineno">20996</span> <span class="keywordflow">if</span> (pos & 1) {</div><div class="line"><a name="l20997"></a><span class="lineno">20997</span> *oddP = node;</div><div class="line"><a name="l20998"></a><span class="lineno">20998</span> oddP = &(node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l20999"></a><span class="lineno">20999</span> } <span class="keywordflow">else</span> {</div><div class="line"><a name="l21000"></a><span class="lineno">21000</span> *evenP = node;</div><div class="line"><a name="l21001"></a><span class="lineno">21001</span> evenP = &(node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l21002"></a><span class="lineno">21002</span> }</div><div class="line"><a name="l21003"></a><span class="lineno">21003</span> node = next;</div><div class="line"><a name="l21004"></a><span class="lineno">21004</span> }</div><div class="line"><a name="l21005"></a><span class="lineno">21005</span> *evenP = *oddP = sentinel;</div><div class="line"><a name="l21006"></a><span class="lineno">21006</span> }</div><div class="line"><a name="l21007"></a><span class="lineno">21007</span> <a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21008"></a><span class="lineno">21008</span> </div><div class="line"><a name="l21009"></a><span class="lineno">21009</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21010"></a><span class="lineno">21010</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21011"></a><span class="lineno">21011</span> <span class="stringliteral">"rehashing layer %d: keys %d dead %d new size %d\n"</span>,</div><div class="line"><a name="l21012"></a><span class="lineno">21012</span> i, unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,</div><div class="line"><a name="l21013"></a><span class="lineno">21013</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>, slots);</div><div class="line"><a name="l21014"></a><span class="lineno">21014</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l21015"></a><span class="lineno">21015</span> } <span class="keywordflow">else</span> {</div><div class="line"><a name="l21016"></a><span class="lineno">21016</span> oldslots = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l21017"></a><span class="lineno">21017</span> oldshift = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l21018"></a><span class="lineno">21018</span> oldnodelist = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l21019"></a><span class="lineno">21019</span> </div><div class="line"><a name="l21020"></a><span class="lineno">21020</span> <span class="comment">/* The constant subtable is never subjected to reordering.</span></div><div class="line"><a name="l21021"></a><span class="lineno">21021</span> <span class="comment">** Therefore, when it is resized, it is because it has just</span></div><div class="line"><a name="l21022"></a><span class="lineno">21022</span> <span class="comment">** reached the maximum load. We can safely just double the size,</span></div><div class="line"><a name="l21023"></a><span class="lineno">21023</span> <span class="comment">** with no need for the loop we use for the other tables.</span></div><div class="line"><a name="l21024"></a><span class="lineno">21024</span> <span class="comment">*/</span></div><div class="line"><a name="l21025"></a><span class="lineno">21025</span> slots = oldslots << 1;</div><div class="line"><a name="l21026"></a><span class="lineno">21026</span> shift = oldshift - 1;</div><div class="line"><a name="l21027"></a><span class="lineno">21027</span> saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l21028"></a><span class="lineno">21028</span> MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l21029"></a><span class="lineno">21029</span> nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l21030"></a><span class="lineno">21030</span> MMoutOfMemory = saveHandler;</div><div class="line"><a name="l21031"></a><span class="lineno">21031</span> <span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l21032"></a><span class="lineno">21032</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21033"></a><span class="lineno">21033</span> <span class="stringliteral">"Unable to resize constant subtable for lack of memory\n"</span>);</div><div class="line"><a name="l21034"></a><span class="lineno">21034</span> (void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l21035"></a><span class="lineno">21035</span> <span class="keywordflow">for</span> (j = 0; j < unique-><a class="code" href="structDdManager.html#a5fc169bc41431f1a0645f64c753457e3">size</a>; j++) {</div><div class="line"><a name="l21036"></a><span class="lineno">21036</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[j].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> <<= 1;</div><div class="line"><a name="l21037"></a><span class="lineno">21037</span> }</div><div class="line"><a name="l21038"></a><span class="lineno">21038</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> <<= 1;</div><div class="line"><a name="l21039"></a><span class="lineno">21039</span> <span class="keywordflow">return</span>;</div><div class="line"><a name="l21040"></a><span class="lineno">21040</span> }</div><div class="line"><a name="l21041"></a><span class="lineno">21041</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l21042"></a><span class="lineno">21042</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l21043"></a><span class="lineno">21043</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l21044"></a><span class="lineno">21044</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l21045"></a><span class="lineno">21045</span> <span class="keywordflow">for</span> (j = 0; (unsigned) j < slots; j++) {</div><div class="line"><a name="l21046"></a><span class="lineno">21046</span> nodelist[j] = NULL;</div><div class="line"><a name="l21047"></a><span class="lineno">21047</span> }</div><div class="line"><a name="l21048"></a><span class="lineno">21048</span> <span class="keywordflow">for</span> (j = 0; (unsigned) j < oldslots; j++) {</div><div class="line"><a name="l21049"></a><span class="lineno">21049</span> node = oldnodelist[j];</div><div class="line"><a name="l21050"></a><span class="lineno">21050</span> <span class="keywordflow">while</span> (node != NULL) {</div><div class="line"><a name="l21051"></a><span class="lineno">21051</span> next = node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l21052"></a><span class="lineno">21052</span> split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = <a class="code" href="cuddInt_8h.html#ae4c91711a93064634cccc69dc22f3712">cuddV</a>(node);</div><div class="line"><a name="l21053"></a><span class="lineno">21053</span> pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], shift);</div><div class="line"><a name="l21054"></a><span class="lineno">21054</span> node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l21055"></a><span class="lineno">21055</span> nodelist[pos] = node;</div><div class="line"><a name="l21056"></a><span class="lineno">21056</span> node = next;</div><div class="line"><a name="l21057"></a><span class="lineno">21057</span> }</div><div class="line"><a name="l21058"></a><span class="lineno">21058</span> }</div><div class="line"><a name="l21059"></a><span class="lineno">21059</span> <a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21060"></a><span class="lineno">21060</span> </div><div class="line"><a name="l21061"></a><span class="lineno">21061</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21062"></a><span class="lineno">21062</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21063"></a><span class="lineno">21063</span> <span class="stringliteral">"rehashing constants: keys %d dead %d new size %d\n"</span>,</div><div class="line"><a name="l21064"></a><span class="lineno">21064</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>,slots);</div><div class="line"><a name="l21065"></a><span class="lineno">21065</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l21066"></a><span class="lineno">21066</span> }</div><div class="line"><a name="l21067"></a><span class="lineno">21067</span> </div><div class="line"><a name="l21068"></a><span class="lineno">21068</span> <span class="comment">/* Update global data */</span></div><div class="line"><a name="l21069"></a><span class="lineno">21069</span> </div><div class="line"><a name="l21070"></a><span class="lineno">21070</span> unique-><a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> += (slots - oldslots) * <span class="keyword">sizeof</span>(<a class="code" href="structDdNode.html">DdNodePtr</a>);</div><div class="line"><a name="l21071"></a><span class="lineno">21071</span> unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> += (slots - oldslots);</div><div class="line"><a name="l21072"></a><span class="lineno">21072</span> <a class="code" href="cuddInt_8c.html#a289296f33cef84ced5299b7600a9c352">ddFixLimits</a>(unique);</div><div class="line"><a name="l21073"></a><span class="lineno">21073</span> </div><div class="line"><a name="l21074"></a><span class="lineno">21074</span> } <span class="comment">/* end of cuddRehash */</span></div><div class="ttc" id="structDdSubtable_html_aca2eea345c00c69090e701ffacff7de4"><div class="ttname"><a href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">DdSubtable::keys</a></div><div class="ttdeci">unsigned int keys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00327">cuddInt.h:327</a></div></div>
|
|
5729
|
+
<div class="fragment"><div class="line"><a name="l20920"></a><span class="lineno">20920</span> {</div><div class="line"><a name="l20921"></a><span class="lineno">20921</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slots, oldslots;</div><div class="line"><a name="l20922"></a><span class="lineno">20922</span> <span class="keywordtype">int</span> shift, oldshift;</div><div class="line"><a name="l20923"></a><span class="lineno">20923</span> <span class="keywordtype">int</span> j, pos;</div><div class="line"><a name="l20924"></a><span class="lineno">20924</span> <a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist, *oldnodelist;</div><div class="line"><a name="l20925"></a><span class="lineno">20925</span> <a class="code" href="structDdNode.html">DdNode</a> *node, *next;</div><div class="line"><a name="l20926"></a><span class="lineno">20926</span> <a class="code" href="structDdNode.html">DdNode</a> *sentinel = &(unique-><a class="code" href="structDdManager.html#a8679aac5ecef09b42b3cf11786d57139">sentinel</a>);</div><div class="line"><a name="l20927"></a><span class="lineno">20927</span> <a class="code" href="unionhack.html">hack</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">split</a>;</div><div class="line"><a name="l20928"></a><span class="lineno">20928</span> <span class="keyword">extern</span> <a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20929"></a><span class="lineno">20929</span> <a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> saveHandler;</div><div class="line"><a name="l20930"></a><span class="lineno">20930</span> </div><div class="line"><a name="l20931"></a><span class="lineno">20931</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> == <a class="code" href="cuddInt_8h.html#a000b28ff395aeb4c1ca8bc720f07753f">DD_GC_FRAC_HI</a> && unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> > unique-><a class="code" href="structDdManager.html#a08442885cc19bd4e63ee8ca294669efa">looseUpTo</a>) {</div><div class="line"><a name="l20932"></a><span class="lineno">20932</span> unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>;</div><div class="line"><a name="l20933"></a><span class="lineno">20933</span> unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a> * (<span class="keywordtype">double</span>) unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20934"></a><span class="lineno">20934</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20935"></a><span class="lineno">20935</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"GC fraction = %.2f\t"</span>, <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>);</div><div class="line"><a name="l20936"></a><span class="lineno">20936</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"minDead = %d\n"</span>, unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20937"></a><span class="lineno">20937</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20938"></a><span class="lineno">20938</span> }</div><div class="line"><a name="l20939"></a><span class="lineno">20939</span> </div><div class="line"><a name="l20940"></a><span class="lineno">20940</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> != <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> && unique-><a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> > unique-><a class="code" href="structDdManager.html#aca692386284b334539799b3753e0e7b9">maxmem</a>) {</div><div class="line"><a name="l20941"></a><span class="lineno">20941</span> unique-><a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>;</div><div class="line"><a name="l20942"></a><span class="lineno">20942</span> unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> * (<span class="keywordtype">double</span>) unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20943"></a><span class="lineno">20943</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20944"></a><span class="lineno">20944</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"GC fraction = %.2f\t"</span>, <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>);</div><div class="line"><a name="l20945"></a><span class="lineno">20945</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">"minDead = %d\n"</span>, unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20946"></a><span class="lineno">20946</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20947"></a><span class="lineno">20947</span> <a class="code" href="cuddInt_8c.html#a68543f5aa10af3730f82919fdac4fd98">cuddShrinkDeathRow</a>(unique);</div><div class="line"><a name="l20948"></a><span class="lineno">20948</span> <span class="keywordflow">if</span> (<a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1) > 0) <span class="keywordflow">return</span>;</div><div class="line"><a name="l20949"></a><span class="lineno">20949</span> }</div><div class="line"><a name="l20950"></a><span class="lineno">20950</span> </div><div class="line"><a name="l20951"></a><span class="lineno">20951</span> <span class="keywordflow">if</span> (i != <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>) {</div><div class="line"><a name="l20952"></a><span class="lineno">20952</span> oldslots = unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l20953"></a><span class="lineno">20953</span> oldshift = unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l20954"></a><span class="lineno">20954</span> oldnodelist = unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20955"></a><span class="lineno">20955</span> </div><div class="line"><a name="l20956"></a><span class="lineno">20956</span> <span class="comment">/* Compute the new size of the subtable. */</span></div><div class="line"><a name="l20957"></a><span class="lineno">20957</span> slots = oldslots << 1;</div><div class="line"><a name="l20958"></a><span class="lineno">20958</span> shift = oldshift - 1;</div><div class="line"><a name="l20959"></a><span class="lineno">20959</span> </div><div class="line"><a name="l20960"></a><span class="lineno">20960</span> saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20961"></a><span class="lineno">20961</span> MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l20962"></a><span class="lineno">20962</span> nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l20963"></a><span class="lineno">20963</span> MMoutOfMemory = saveHandler;</div><div class="line"><a name="l20964"></a><span class="lineno">20964</span> <span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l20965"></a><span class="lineno">20965</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l20966"></a><span class="lineno">20966</span> <span class="stringliteral">"Unable to resize subtable %d for lack of memory\n"</span>,</div><div class="line"><a name="l20967"></a><span class="lineno">20967</span> i);</div><div class="line"><a name="l20968"></a><span class="lineno">20968</span> <span class="comment">/* Prevent frequent resizing attempts. */</span></div><div class="line"><a name="l20969"></a><span class="lineno">20969</span> (void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20970"></a><span class="lineno">20970</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> != NULL) {</div><div class="line"><a name="l20971"></a><span class="lineno">20971</span> <a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(unique-><a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a>);</div><div class="line"><a name="l20972"></a><span class="lineno">20972</span> unique-><a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> = NULL;</div><div class="line"><a name="l20973"></a><span class="lineno">20973</span> <span class="comment">/* Inhibit resizing of tables. */</span></div><div class="line"><a name="l20974"></a><span class="lineno">20974</span> <a class="code" href="cuddInt_8c.html#a917f877ac725fc2d169102ab9d7aec97">cuddSlowTableGrowth</a>(unique);</div><div class="line"><a name="l20975"></a><span class="lineno">20975</span> }</div><div class="line"><a name="l20976"></a><span class="lineno">20976</span> <span class="keywordflow">return</span>;</div><div class="line"><a name="l20977"></a><span class="lineno">20977</span> }</div><div class="line"><a name="l20978"></a><span class="lineno">20978</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l20979"></a><span class="lineno">20979</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l20980"></a><span class="lineno">20980</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l20981"></a><span class="lineno">20981</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l20982"></a><span class="lineno">20982</span> </div><div class="line"><a name="l20983"></a><span class="lineno">20983</span> <span class="comment">/* Move the nodes from the old table to the new table.</span></div><div class="line"><a name="l20984"></a><span class="lineno">20984</span> <span class="comment">** This code depends on the type of hash function.</span></div><div class="line"><a name="l20985"></a><span class="lineno">20985</span> <span class="comment">** It assumes that the effect of doubling the size of the table</span></div><div class="line"><a name="l20986"></a><span class="lineno">20986</span> <span class="comment">** is to retain one more bit of the 32-bit hash value.</span></div><div class="line"><a name="l20987"></a><span class="lineno">20987</span> <span class="comment">** The additional bit is the LSB. */</span></div><div class="line"><a name="l20988"></a><span class="lineno">20988</span> <span class="keywordflow">for</span> (j = 0; (unsigned) j < oldslots; j++) {</div><div class="line"><a name="l20989"></a><span class="lineno">20989</span> <a class="code" href="structDdNode.html">DdNodePtr</a> *evenP, *oddP;</div><div class="line"><a name="l20990"></a><span class="lineno">20990</span> node = oldnodelist[j];</div><div class="line"><a name="l20991"></a><span class="lineno">20991</span> evenP = &(nodelist[j<<1]);</div><div class="line"><a name="l20992"></a><span class="lineno">20992</span> oddP = &(nodelist[(j<<1)+1]);</div><div class="line"><a name="l20993"></a><span class="lineno">20993</span> <span class="keywordflow">while</span> (node != sentinel) {</div><div class="line"><a name="l20994"></a><span class="lineno">20994</span> next = node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20995"></a><span class="lineno">20995</span> pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(<a class="code" href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a>(node), <a class="code" href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a>(node), shift);</div><div class="line"><a name="l20996"></a><span class="lineno">20996</span> <span class="keywordflow">if</span> (pos & 1) {</div><div class="line"><a name="l20997"></a><span class="lineno">20997</span> *oddP = node;</div><div class="line"><a name="l20998"></a><span class="lineno">20998</span> oddP = &(node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l20999"></a><span class="lineno">20999</span> } <span class="keywordflow">else</span> {</div><div class="line"><a name="l21000"></a><span class="lineno">21000</span> *evenP = node;</div><div class="line"><a name="l21001"></a><span class="lineno">21001</span> evenP = &(node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l21002"></a><span class="lineno">21002</span> }</div><div class="line"><a name="l21003"></a><span class="lineno">21003</span> node = next;</div><div class="line"><a name="l21004"></a><span class="lineno">21004</span> }</div><div class="line"><a name="l21005"></a><span class="lineno">21005</span> *evenP = *oddP = sentinel;</div><div class="line"><a name="l21006"></a><span class="lineno">21006</span> }</div><div class="line"><a name="l21007"></a><span class="lineno">21007</span> <a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21008"></a><span class="lineno">21008</span> </div><div class="line"><a name="l21009"></a><span class="lineno">21009</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21010"></a><span class="lineno">21010</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21011"></a><span class="lineno">21011</span> <span class="stringliteral">"rehashing layer %d: keys %d dead %d new size %d\n"</span>,</div><div class="line"><a name="l21012"></a><span class="lineno">21012</span> i, unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,</div><div class="line"><a name="l21013"></a><span class="lineno">21013</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>, slots);</div><div class="line"><a name="l21014"></a><span class="lineno">21014</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l21015"></a><span class="lineno">21015</span> } <span class="keywordflow">else</span> {</div><div class="line"><a name="l21016"></a><span class="lineno">21016</span> oldslots = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l21017"></a><span class="lineno">21017</span> oldshift = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l21018"></a><span class="lineno">21018</span> oldnodelist = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l21019"></a><span class="lineno">21019</span> </div><div class="line"><a name="l21020"></a><span class="lineno">21020</span> <span class="comment">/* The constant subtable is never subjected to reordering.</span></div><div class="line"><a name="l21021"></a><span class="lineno">21021</span> <span class="comment">** Therefore, when it is resized, it is because it has just</span></div><div class="line"><a name="l21022"></a><span class="lineno">21022</span> <span class="comment">** reached the maximum load. We can safely just double the size,</span></div><div class="line"><a name="l21023"></a><span class="lineno">21023</span> <span class="comment">** with no need for the loop we use for the other tables.</span></div><div class="line"><a name="l21024"></a><span class="lineno">21024</span> <span class="comment">*/</span></div><div class="line"><a name="l21025"></a><span class="lineno">21025</span> slots = oldslots << 1;</div><div class="line"><a name="l21026"></a><span class="lineno">21026</span> shift = oldshift - 1;</div><div class="line"><a name="l21027"></a><span class="lineno">21027</span> saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l21028"></a><span class="lineno">21028</span> MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l21029"></a><span class="lineno">21029</span> nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l21030"></a><span class="lineno">21030</span> MMoutOfMemory = saveHandler;</div><div class="line"><a name="l21031"></a><span class="lineno">21031</span> <span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l21032"></a><span class="lineno">21032</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21033"></a><span class="lineno">21033</span> <span class="stringliteral">"Unable to resize constant subtable for lack of memory\n"</span>);</div><div class="line"><a name="l21034"></a><span class="lineno">21034</span> (void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l21035"></a><span class="lineno">21035</span> <span class="keywordflow">for</span> (j = 0; j < unique-><a class="code" href="structDdManager.html#a5fc169bc41431f1a0645f64c753457e3">size</a>; j++) {</div><div class="line"><a name="l21036"></a><span class="lineno">21036</span> unique-><a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[j].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> <<= 1;</div><div class="line"><a name="l21037"></a><span class="lineno">21037</span> }</div><div class="line"><a name="l21038"></a><span class="lineno">21038</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> <<= 1;</div><div class="line"><a name="l21039"></a><span class="lineno">21039</span> <span class="keywordflow">return</span>;</div><div class="line"><a name="l21040"></a><span class="lineno">21040</span> }</div><div class="line"><a name="l21041"></a><span class="lineno">21041</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l21042"></a><span class="lineno">21042</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l21043"></a><span class="lineno">21043</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l21044"></a><span class="lineno">21044</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l21045"></a><span class="lineno">21045</span> <span class="keywordflow">for</span> (j = 0; (unsigned) j < slots; j++) {</div><div class="line"><a name="l21046"></a><span class="lineno">21046</span> nodelist[j] = NULL;</div><div class="line"><a name="l21047"></a><span class="lineno">21047</span> }</div><div class="line"><a name="l21048"></a><span class="lineno">21048</span> <span class="keywordflow">for</span> (j = 0; (unsigned) j < oldslots; j++) {</div><div class="line"><a name="l21049"></a><span class="lineno">21049</span> node = oldnodelist[j];</div><div class="line"><a name="l21050"></a><span class="lineno">21050</span> <span class="keywordflow">while</span> (node != NULL) {</div><div class="line"><a name="l21051"></a><span class="lineno">21051</span> next = node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l21052"></a><span class="lineno">21052</span> split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = <a class="code" href="cuddInt_8h.html#ae4c91711a93064634cccc69dc22f3712">cuddV</a>(node);</div><div class="line"><a name="l21053"></a><span class="lineno">21053</span> pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], shift);</div><div class="line"><a name="l21054"></a><span class="lineno">21054</span> node-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l21055"></a><span class="lineno">21055</span> nodelist[pos] = node;</div><div class="line"><a name="l21056"></a><span class="lineno">21056</span> node = next;</div><div class="line"><a name="l21057"></a><span class="lineno">21057</span> }</div><div class="line"><a name="l21058"></a><span class="lineno">21058</span> }</div><div class="line"><a name="l21059"></a><span class="lineno">21059</span> <a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21060"></a><span class="lineno">21060</span> </div><div class="line"><a name="l21061"></a><span class="lineno">21061</span> <span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21062"></a><span class="lineno">21062</span> (void) fprintf(unique-><a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21063"></a><span class="lineno">21063</span> <span class="stringliteral">"rehashing constants: keys %d dead %d new size %d\n"</span>,</div><div class="line"><a name="l21064"></a><span class="lineno">21064</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>,slots);</div><div class="line"><a name="l21065"></a><span class="lineno">21065</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l21066"></a><span class="lineno">21066</span> }</div><div class="line"><a name="l21067"></a><span class="lineno">21067</span> </div><div class="line"><a name="l21068"></a><span class="lineno">21068</span> <span class="comment">/* Update global data */</span></div><div class="line"><a name="l21069"></a><span class="lineno">21069</span> </div><div class="line"><a name="l21070"></a><span class="lineno">21070</span> unique-><a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> += (slots - oldslots) * <span class="keyword">sizeof</span>(<a class="code" href="structDdNode.html">DdNodePtr</a>);</div><div class="line"><a name="l21071"></a><span class="lineno">21071</span> unique-><a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> += (slots - oldslots);</div><div class="line"><a name="l21072"></a><span class="lineno">21072</span> <a class="code" href="cuddInt_8c.html#a289296f33cef84ced5299b7600a9c352">ddFixLimits</a>(unique);</div><div class="line"><a name="l21073"></a><span class="lineno">21073</span> </div><div class="line"><a name="l21074"></a><span class="lineno">21074</span> } <span class="comment">/* end of cuddRehash */</span></div><div class="ttc" id="structDdSubtable_html_aca2eea345c00c69090e701ffacff7de4"><div class="ttname"><a href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">DdSubtable::keys</a></div><div class="ttdeci">unsigned int keys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00327">cuddInt.h:327</a></div></div>
|
|
5730
5730
|
<div class="ttc" id="cuddInt_8h_html_a04555d27c114939b7c4a37be638b7968"><div class="ttname"><a href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a></div><div class="ttdeci">#define ddHash(f, g, s)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00713">cuddInt.h:713</a></div></div>
|
|
5731
5731
|
<div class="ttc" id="structDdNode_html"><div class="ttname"><a href="structDdNode.html">DdNode</a></div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00271">cudd.h:271</a></div></div>
|
|
5732
5732
|
<div class="ttc" id="util_8h_html_aa279a8302d25fa9dfeb3e00161aee784"><div class="ttname"><a href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a></div><div class="ttdeci">#define FREE(obj)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00080">util.h:80</a></div></div>
|
|
@@ -5752,6 +5752,7 @@ S: MTR_SOFT </li>
|
|
|
5752
5752
|
<div class="ttc" id="structDdNode_html_a9422352d3b46de31b325d1cf18b9f25f"><div class="ttname"><a href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">DdNode::next</a></div><div class="ttdeci">DdNode * next</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00275">cudd.h:275</a></div></div>
|
|
5753
5753
|
<div class="ttc" id="cuddInt_8h_html_a9b1f609f95c31c8f64395a4b0c778a3f"><div class="ttname"><a href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a></div><div class="ttdeci">#define DD_GC_FRAC_LO</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00134">cuddInt.h:134</a></div></div>
|
|
5754
5754
|
<div class="ttc" id="structDdSubtable_html_a2997673187c40bc7d7977a2581581420"><div class="ttname"><a href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">DdSubtable::maxKeys</a></div><div class="ttdeci">unsigned int maxKeys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00328">cuddInt.h:328</a></div></div>
|
|
5755
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af54e70082388bbd70868250aaa0bc86b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">SVF::SVFUtil::split</a></div><div class="ttdeci">std::vector< std::string > split(const std::string &s, char seperator)</div><div class="ttdoc">Split into two substrings around the first occurrence of a separator string. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00243">SVFUtil.h:243</a></div></div>
|
|
5755
5756
|
<div class="ttc" id="cudd_8h_html_aa097684bc69c58891332b245d577b986"><div class="ttname"><a href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a></div><div class="ttdeci">#define CUDD_CONST_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00107">cudd.h:107</a></div></div>
|
|
5756
5757
|
<div class="ttc" id="structDdSubtable_html_a1226ea7ecfb6d6b56269cb518ac5e2d7"><div class="ttname"><a href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">DdSubtable::nodelist</a></div><div class="ttdeci">DdNode ** nodelist</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00324">cuddInt.h:324</a></div></div>
|
|
5757
5758
|
<div class="ttc" id="cuddInt_8h_html_a09834c697b92ac296b1e50c863f88262"><div class="ttname"><a href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a></div><div class="ttdeci">#define cuddT(node)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00626">cuddInt.h:626</a></div></div>
|
|
@@ -6581,7 +6582,7 @@ Repeat 1-4 until no further improvement. </li>
|
|
|
6581
6582
|
<p>SideEffects [None] </p>
|
|
6582
6583
|
|
|
6583
6584
|
<p class="definition">Definition at line <a class="el" href="cuddInt_8c_source.html#l20837">20837</a> of file <a class="el" href="cuddInt_8c_source.html">cuddInt.c</a>.</p>
|
|
6584
|
-
<div class="fragment"><div class="line"><a name="l20840"></a><span class="lineno">20840</span> {</div><div class="line"><a name="l20841"></a><span class="lineno">20841</span> <span class="keywordtype">int</span> pos;</div><div class="line"><a name="l20842"></a><span class="lineno">20842</span> <a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist;</div><div class="line"><a name="l20843"></a><span class="lineno">20843</span> <a class="code" href="structDdNode.html">DdNode</a> *looking;</div><div class="line"><a name="l20844"></a><span class="lineno">20844</span> <a class="code" href="unionhack.html">hack</a> split;</div><div class="line"><a name="l20845"></a><span class="lineno">20845</span> </div><div class="line"><a name="l20846"></a><span class="lineno">20846</span> <span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20847"></a><span class="lineno">20847</span> unique->uniqueLookUps++;</div><div class="line"><a name="l20848"></a><span class="lineno">20848</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20849"></a><span class="lineno">20849</span> </div><div class="line"><a name="l20850"></a><span class="lineno">20850</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a> > unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a>) {</div><div class="line"><a name="l20851"></a><span class="lineno">20851</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a9ea7f1aaa19f3621745b590b7dca4f26">gcEnabled</a> && ((unique-><a class="code" href="structDdManager.html#a170c1cfcbbd9b83bb479fc85c177c52e">dead</a> > unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>) ||</div><div class="line"><a name="l20852"></a><span class="lineno">20852</span> (10 * unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a> > 9 * unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>))) { <span class="comment">/* too many dead */</span></div><div class="line"><a name="l20853"></a><span class="lineno">20853</span> (void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20854"></a><span class="lineno">20854</span> } <span class="keywordflow">else</span> {</div><div class="line"><a name="l20855"></a><span class="lineno">20855</span> <a class="code" href="cuddInt_8c.html#a808cc83054e0925704d498f721605926">cuddRehash</a>(unique,<a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>);</div><div class="line"><a name="l20856"></a><span class="lineno">20856</span> }</div><div class="line"><a name="l20857"></a><span class="lineno">20857</span> }</div><div class="line"><a name="l20858"></a><span class="lineno">20858</span> </div><div class="line"><a name="l20859"></a><span class="lineno">20859</span> <a class="code" href="cuddInt_8h.html#a2ff323254eb979e424f99cbe8ef593fe">cuddAdjust</a>(value); <span class="comment">/* for the case of crippled infinities */</span></div><div class="line"><a name="l20860"></a><span class="lineno">20860</span> </div><div class="line"><a name="l20861"></a><span class="lineno">20861</span> <span class="keywordflow">if</span> (<a class="code" href="cuddInt_8h.html#aa2b85051644f4b773320ab64c0eae9c2">ddAbs</a>(value) < unique-><a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>) {</div><div class="line"><a name="l20862"></a><span class="lineno">20862</span> value = 0.0;</div><div class="line"><a name="l20863"></a><span class="lineno">20863</span> }</div><div class="line"><a name="l20864"></a><span class="lineno">20864</span> split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = value;</div><div class="line"><a name="l20865"></a><span class="lineno">20865</span> </div><div class="line"><a name="l20866"></a><span class="lineno">20866</span> pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>);</div><div class="line"><a name="l20867"></a><span class="lineno">20867</span> nodelist = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20868"></a><span class="lineno">20868</span> looking = nodelist[pos];</div><div class="line"><a name="l20869"></a><span class="lineno">20869</span> </div><div class="line"><a name="l20870"></a><span class="lineno">20870</span> <span class="comment">/* Here we compare values both for equality and for difference less</span></div><div class="line"><a name="l20871"></a><span class="lineno">20871</span> <span class="comment"> * than epsilon. The first comparison is required when values are</span></div><div class="line"><a name="l20872"></a><span class="lineno">20872</span> <span class="comment"> * infinite, since Infinity - Infinity is NaN and NaN < X is 0 for</span></div><div class="line"><a name="l20873"></a><span class="lineno">20873</span> <span class="comment"> * every X.</span></div><div class="line"><a name="l20874"></a><span class="lineno">20874</span> <span class="comment"> */</span></div><div class="line"><a name="l20875"></a><span class="lineno">20875</span> <span class="keywordflow">while</span> (looking != NULL) {</div><div class="line"><a name="l20876"></a><span class="lineno">20876</span> <span class="keywordflow">if</span> (looking-><a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> == value ||</div><div class="line"><a name="l20877"></a><span class="lineno">20877</span> <a class="code" href="cuddInt_8h.html#adaebebca92b84664b62c0f962d0aa3d5">ddEqualVal</a>(looking-><a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a>,value,unique-><a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>)) {</div><div class="line"><a name="l20878"></a><span class="lineno">20878</span> <span class="keywordflow">if</span> (looking-><a class="code" href="structDdNode.html#a530470565dbead9303a714e120c35b70">ref</a> == 0) {</div><div class="line"><a name="l20879"></a><span class="lineno">20879</span> <a class="code" href="cuddInt_8c.html#acc19dbda07ed77727cd149f7aeb2527b">cuddReclaim</a>(unique,looking);</div><div class="line"><a name="l20880"></a><span class="lineno">20880</span> }</div><div class="line"><a name="l20881"></a><span class="lineno">20881</span> <span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20882"></a><span class="lineno">20882</span> }</div><div class="line"><a name="l20883"></a><span class="lineno">20883</span> looking = looking-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20884"></a><span class="lineno">20884</span> <span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20885"></a><span class="lineno">20885</span> unique->uniqueLinks++;</div><div class="line"><a name="l20886"></a><span class="lineno">20886</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20887"></a><span class="lineno">20887</span> }</div><div class="line"><a name="l20888"></a><span class="lineno">20888</span> </div><div class="line"><a name="l20889"></a><span class="lineno">20889</span> unique-><a class="code" href="structDdManager.html#afaedd101dfa7b7e2cb11614647ec37b2">keys</a>++;</div><div class="line"><a name="l20890"></a><span class="lineno">20890</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>++;</div><div class="line"><a name="l20891"></a><span class="lineno">20891</span> </div><div class="line"><a name="l20892"></a><span class="lineno">20892</span> looking = <a class="code" href="cuddInt_8c.html#aeab770a8c957379ede9ec8edd1dd696a">cuddAllocNode</a>(unique);</div><div class="line"><a name="l20893"></a><span class="lineno">20893</span> <span class="keywordflow">if</span> (looking == NULL) <span class="keywordflow">return</span>(NULL);</div><div class="line"><a name="l20894"></a><span class="lineno">20894</span> looking-><a class="code" href="structDdNode.html#abbd39b25b9abe4b4d53cd267a4103bda">index</a> = <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>;</div><div class="line"><a name="l20895"></a><span class="lineno">20895</span> looking-><a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> = value;</div><div class="line"><a name="l20896"></a><span class="lineno">20896</span> looking-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l20897"></a><span class="lineno">20897</span> nodelist[pos] = looking;</div><div class="line"><a name="l20898"></a><span class="lineno">20898</span> </div><div class="line"><a name="l20899"></a><span class="lineno">20899</span> <span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20900"></a><span class="lineno">20900</span> </div><div class="line"><a name="l20901"></a><span class="lineno">20901</span> } <span class="comment">/* end of cuddUniqueConst */</span></div><div class="ttc" id="structDdNode_html_a530470565dbead9303a714e120c35b70"><div class="ttname"><a href="structDdNode.html#a530470565dbead9303a714e120c35b70">DdNode::ref</a></div><div class="ttdeci">DdHalfWord ref</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00274">cudd.h:274</a></div></div>
|
|
6585
|
+
<div class="fragment"><div class="line"><a name="l20840"></a><span class="lineno">20840</span> {</div><div class="line"><a name="l20841"></a><span class="lineno">20841</span> <span class="keywordtype">int</span> pos;</div><div class="line"><a name="l20842"></a><span class="lineno">20842</span> <a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist;</div><div class="line"><a name="l20843"></a><span class="lineno">20843</span> <a class="code" href="structDdNode.html">DdNode</a> *looking;</div><div class="line"><a name="l20844"></a><span class="lineno">20844</span> <a class="code" href="unionhack.html">hack</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">split</a>;</div><div class="line"><a name="l20845"></a><span class="lineno">20845</span> </div><div class="line"><a name="l20846"></a><span class="lineno">20846</span> <span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20847"></a><span class="lineno">20847</span> unique->uniqueLookUps++;</div><div class="line"><a name="l20848"></a><span class="lineno">20848</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20849"></a><span class="lineno">20849</span> </div><div class="line"><a name="l20850"></a><span class="lineno">20850</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a> > unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a>) {</div><div class="line"><a name="l20851"></a><span class="lineno">20851</span> <span class="keywordflow">if</span> (unique-><a class="code" href="structDdManager.html#a9ea7f1aaa19f3621745b590b7dca4f26">gcEnabled</a> && ((unique-><a class="code" href="structDdManager.html#a170c1cfcbbd9b83bb479fc85c177c52e">dead</a> > unique-><a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>) ||</div><div class="line"><a name="l20852"></a><span class="lineno">20852</span> (10 * unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a> > 9 * unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>))) { <span class="comment">/* too many dead */</span></div><div class="line"><a name="l20853"></a><span class="lineno">20853</span> (void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20854"></a><span class="lineno">20854</span> } <span class="keywordflow">else</span> {</div><div class="line"><a name="l20855"></a><span class="lineno">20855</span> <a class="code" href="cuddInt_8c.html#a808cc83054e0925704d498f721605926">cuddRehash</a>(unique,<a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>);</div><div class="line"><a name="l20856"></a><span class="lineno">20856</span> }</div><div class="line"><a name="l20857"></a><span class="lineno">20857</span> }</div><div class="line"><a name="l20858"></a><span class="lineno">20858</span> </div><div class="line"><a name="l20859"></a><span class="lineno">20859</span> <a class="code" href="cuddInt_8h.html#a2ff323254eb979e424f99cbe8ef593fe">cuddAdjust</a>(value); <span class="comment">/* for the case of crippled infinities */</span></div><div class="line"><a name="l20860"></a><span class="lineno">20860</span> </div><div class="line"><a name="l20861"></a><span class="lineno">20861</span> <span class="keywordflow">if</span> (<a class="code" href="cuddInt_8h.html#aa2b85051644f4b773320ab64c0eae9c2">ddAbs</a>(value) < unique-><a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>) {</div><div class="line"><a name="l20862"></a><span class="lineno">20862</span> value = 0.0;</div><div class="line"><a name="l20863"></a><span class="lineno">20863</span> }</div><div class="line"><a name="l20864"></a><span class="lineno">20864</span> split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = value;</div><div class="line"><a name="l20865"></a><span class="lineno">20865</span> </div><div class="line"><a name="l20866"></a><span class="lineno">20866</span> pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>);</div><div class="line"><a name="l20867"></a><span class="lineno">20867</span> nodelist = unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20868"></a><span class="lineno">20868</span> looking = nodelist[pos];</div><div class="line"><a name="l20869"></a><span class="lineno">20869</span> </div><div class="line"><a name="l20870"></a><span class="lineno">20870</span> <span class="comment">/* Here we compare values both for equality and for difference less</span></div><div class="line"><a name="l20871"></a><span class="lineno">20871</span> <span class="comment"> * than epsilon. The first comparison is required when values are</span></div><div class="line"><a name="l20872"></a><span class="lineno">20872</span> <span class="comment"> * infinite, since Infinity - Infinity is NaN and NaN < X is 0 for</span></div><div class="line"><a name="l20873"></a><span class="lineno">20873</span> <span class="comment"> * every X.</span></div><div class="line"><a name="l20874"></a><span class="lineno">20874</span> <span class="comment"> */</span></div><div class="line"><a name="l20875"></a><span class="lineno">20875</span> <span class="keywordflow">while</span> (looking != NULL) {</div><div class="line"><a name="l20876"></a><span class="lineno">20876</span> <span class="keywordflow">if</span> (looking-><a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> == value ||</div><div class="line"><a name="l20877"></a><span class="lineno">20877</span> <a class="code" href="cuddInt_8h.html#adaebebca92b84664b62c0f962d0aa3d5">ddEqualVal</a>(looking-><a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a>,value,unique-><a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>)) {</div><div class="line"><a name="l20878"></a><span class="lineno">20878</span> <span class="keywordflow">if</span> (looking-><a class="code" href="structDdNode.html#a530470565dbead9303a714e120c35b70">ref</a> == 0) {</div><div class="line"><a name="l20879"></a><span class="lineno">20879</span> <a class="code" href="cuddInt_8c.html#acc19dbda07ed77727cd149f7aeb2527b">cuddReclaim</a>(unique,looking);</div><div class="line"><a name="l20880"></a><span class="lineno">20880</span> }</div><div class="line"><a name="l20881"></a><span class="lineno">20881</span> <span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20882"></a><span class="lineno">20882</span> }</div><div class="line"><a name="l20883"></a><span class="lineno">20883</span> looking = looking-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20884"></a><span class="lineno">20884</span> <span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20885"></a><span class="lineno">20885</span> unique->uniqueLinks++;</div><div class="line"><a name="l20886"></a><span class="lineno">20886</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l20887"></a><span class="lineno">20887</span> }</div><div class="line"><a name="l20888"></a><span class="lineno">20888</span> </div><div class="line"><a name="l20889"></a><span class="lineno">20889</span> unique-><a class="code" href="structDdManager.html#afaedd101dfa7b7e2cb11614647ec37b2">keys</a>++;</div><div class="line"><a name="l20890"></a><span class="lineno">20890</span> unique-><a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>++;</div><div class="line"><a name="l20891"></a><span class="lineno">20891</span> </div><div class="line"><a name="l20892"></a><span class="lineno">20892</span> looking = <a class="code" href="cuddInt_8c.html#aeab770a8c957379ede9ec8edd1dd696a">cuddAllocNode</a>(unique);</div><div class="line"><a name="l20893"></a><span class="lineno">20893</span> <span class="keywordflow">if</span> (looking == NULL) <span class="keywordflow">return</span>(NULL);</div><div class="line"><a name="l20894"></a><span class="lineno">20894</span> looking-><a class="code" href="structDdNode.html#abbd39b25b9abe4b4d53cd267a4103bda">index</a> = <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>;</div><div class="line"><a name="l20895"></a><span class="lineno">20895</span> looking-><a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> = value;</div><div class="line"><a name="l20896"></a><span class="lineno">20896</span> looking-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l20897"></a><span class="lineno">20897</span> nodelist[pos] = looking;</div><div class="line"><a name="l20898"></a><span class="lineno">20898</span> </div><div class="line"><a name="l20899"></a><span class="lineno">20899</span> <span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20900"></a><span class="lineno">20900</span> </div><div class="line"><a name="l20901"></a><span class="lineno">20901</span> } <span class="comment">/* end of cuddUniqueConst */</span></div><div class="ttc" id="structDdNode_html_a530470565dbead9303a714e120c35b70"><div class="ttname"><a href="structDdNode.html#a530470565dbead9303a714e120c35b70">DdNode::ref</a></div><div class="ttdeci">DdHalfWord ref</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00274">cudd.h:274</a></div></div>
|
|
6585
6586
|
<div class="ttc" id="structDdSubtable_html_aca2eea345c00c69090e701ffacff7de4"><div class="ttname"><a href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">DdSubtable::keys</a></div><div class="ttdeci">unsigned int keys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00327">cuddInt.h:327</a></div></div>
|
|
6586
6587
|
<div class="ttc" id="cuddInt_8c_html_aeab770a8c957379ede9ec8edd1dd696a"><div class="ttname"><a href="cuddInt_8c.html#aeab770a8c957379ede9ec8edd1dd696a">cuddAllocNode</a></div><div class="ttdeci">DdNode * cuddAllocNode(DdManager *unique)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l19624">cuddInt.c:19624</a></div></div>
|
|
6587
6588
|
<div class="ttc" id="cuddInt_8h_html_a04555d27c114939b7c4a37be638b7968"><div class="ttname"><a href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a></div><div class="ttdeci">#define ddHash(f, g, s)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00713">cuddInt.h:713</a></div></div>
|
|
@@ -6598,6 +6599,7 @@ Repeat 1-4 until no further improvement. </li>
|
|
|
6598
6599
|
<div class="ttc" id="cuddInt_8h_html_aa2b85051644f4b773320ab64c0eae9c2"><div class="ttname"><a href="cuddInt_8h.html#aa2b85051644f4b773320ab64c0eae9c2">ddAbs</a></div><div class="ttdeci">#define ddAbs(x)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00816">cuddInt.h:816</a></div></div>
|
|
6599
6600
|
<div class="ttc" id="structDdSubtable_html_a2997673187c40bc7d7977a2581581420"><div class="ttname"><a href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">DdSubtable::maxKeys</a></div><div class="ttdeci">unsigned int maxKeys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00328">cuddInt.h:328</a></div></div>
|
|
6600
6601
|
<div class="ttc" id="structDdManager_html_a9ea7f1aaa19f3621745b590b7dca4f26"><div class="ttname"><a href="structDdManager.html#a9ea7f1aaa19f3621745b590b7dca4f26">DdManager::gcEnabled</a></div><div class="ttdeci">int gcEnabled</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00374">cuddInt.h:374</a></div></div>
|
|
6602
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af54e70082388bbd70868250aaa0bc86b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">SVF::SVFUtil::split</a></div><div class="ttdeci">std::vector< std::string > split(const std::string &s, char seperator)</div><div class="ttdoc">Split into two substrings around the first occurrence of a separator string. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00243">SVFUtil.h:243</a></div></div>
|
|
6601
6603
|
<div class="ttc" id="cudd_8h_html_aa097684bc69c58891332b245d577b986"><div class="ttname"><a href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a></div><div class="ttdeci">#define CUDD_CONST_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00107">cudd.h:107</a></div></div>
|
|
6602
6604
|
<div class="ttc" id="structDdSubtable_html_a1226ea7ecfb6d6b56269cb518ac5e2d7"><div class="ttname"><a href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">DdSubtable::nodelist</a></div><div class="ttdeci">DdNode ** nodelist</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00324">cuddInt.h:324</a></div></div>
|
|
6603
6605
|
<div class="ttc" id="unionhack_html_a57925aea3fe6bc712a7d34f05e3c31f4"><div class="ttname"><a href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">hack::value</a></div><div class="ttdeci">CUDD_VALUE_TYPE value</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l19538">cuddInt.c:19538</a></div></div>
|
|
@@ -607,9 +607,6 @@ $(function() {
|
|
|
607
607
|
<li>addModSideEffectOfFunction()
|
|
608
608
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a39604645ca9ba10607ada3872b14705a">SVF::MRGenerator</a>
|
|
609
609
|
</li>
|
|
610
|
-
<li>addMrVer()
|
|
611
|
-
: <a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a7ac57ccfe31b6cd6bbc6f15ed22a6531">SVF::IndirectSVFGEdge</a>
|
|
612
|
-
</li>
|
|
613
610
|
<li>AddMSSAPHI()
|
|
614
611
|
: <a class="el" href="classSVF_1_1MemSSA.html#a606aaf7a76ca71cb32adc9af7291ae6e">SVF::MemSSA</a>
|
|
615
612
|
</li>
|
|
@@ -710,7 +707,7 @@ $(function() {
|
|
|
710
707
|
, <a class="el" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75af866301a661c59a7aa3182c0a7fc0c92">SVF::VFGNode</a>
|
|
711
708
|
</li>
|
|
712
709
|
<li>AddrCGEdge()
|
|
713
|
-
: <a class="el" href="classSVF_1_1AddrCGEdge.html#
|
|
710
|
+
: <a class="el" href="classSVF_1_1AddrCGEdge.html#a9c8da69a469e51d83c5009ba2685bcf6">SVF::AddrCGEdge</a>
|
|
714
711
|
</li>
|
|
715
712
|
<li>AddrCGEdgeSet
|
|
716
713
|
: <a class="el" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">SVF::ConstraintGraph</a>
|
|
@@ -805,7 +802,7 @@ $(function() {
|
|
|
805
802
|
: <a class="el" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">SVF::ConstraintGraph</a>
|
|
806
803
|
</li>
|
|
807
804
|
<li>AddStoreCHI()
|
|
808
|
-
: <a class="el" href="classSVF_1_1MemSSA.html#
|
|
805
|
+
: <a class="el" href="classSVF_1_1MemSSA.html#a8d9bfa2ad724a3b286edc56b7c15e9bf">SVF::MemSSA</a>
|
|
809
806
|
</li>
|
|
810
807
|
<li>addStoreEdge()
|
|
811
808
|
: <a class="el" href="classSVF_1_1SVFIRBuilder.html#a30f043eeca79259d84b97e265110f018">SVF::SVFIRBuilder</a>
|
|
@@ -936,10 +933,10 @@ $(function() {
|
|
|
936
933
|
: <a class="el" href="classSVF_1_1VFG.html#a65c88a6c20380b715ac8b6c31e68afed">SVF::VFG</a>
|
|
937
934
|
</li>
|
|
938
935
|
<li>addValNode()
|
|
939
|
-
: <a class="el" href="classSVF_1_1SVFIR.html#
|
|
936
|
+
: <a class="el" href="classSVF_1_1SVFIR.html#a93bc14960cdd4eb345c64e9b79757ccf">SVF::SVFIR</a>
|
|
940
937
|
</li>
|
|
941
938
|
<li>addVarargNode()
|
|
942
|
-
: <a class="el" href="classSVF_1_1SVFIR.html#
|
|
939
|
+
: <a class="el" href="classSVF_1_1SVFIR.html#a6ade5bf3edc7b6c3faafc3e5ff3d0538">SVF::SVFIR</a>
|
|
943
940
|
</li>
|
|
944
941
|
<li>addVariantGepCGEdge()
|
|
945
942
|
: <a class="el" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">SVF::ConstraintGraph</a>
|
|
@@ -976,7 +973,7 @@ $(function() {
|
|
|
976
973
|
, <a class="el" href="classSVF_1_1WPAPass.html#a5a71ab4d4bd993ff52da60c730d7b57f">SVF::WPAPass</a>
|
|
977
974
|
</li>
|
|
978
975
|
<li>alias_begin()
|
|
979
|
-
: <a class="el" href="classSVF_1_1SVFModule.html#
|
|
976
|
+
: <a class="el" href="classSVF_1_1SVFModule.html#a0e28f6eaf32efc6f2c0987e64f1df852">SVF::SVFModule</a>
|
|
980
977
|
</li>
|
|
981
978
|
<li>alias_end()
|
|
982
979
|
: <a class="el" href="classSVF_1_1SVFModule.html#a1bb5c818ec63d81a238f3d242a89079f">SVF::SVFModule</a>
|
|
@@ -414,11 +414,13 @@ $(function() {
|
|
|
414
414
|
</li>
|
|
415
415
|
<li>cbv
|
|
416
416
|
: <a class="el" href="classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a0cba79551b56ed83dc45ab63619dc590">SVF::CoreBitVector::CoreBitVectorIterator</a>
|
|
417
|
-
, <a class="el" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">SVF::PointsTo</a>
|
|
418
417
|
</li>
|
|
419
418
|
<li>CBV
|
|
420
419
|
: <a class="el" href="classSVF_1_1PointsTo.html#a8f757f92ebf0a2ebdb5e6b001606923ea0397c2678894d1792fcd3432a7aa64fb">SVF::PointsTo</a>
|
|
421
420
|
</li>
|
|
421
|
+
<li>cbv
|
|
422
|
+
: <a class="el" href="classSVF_1_1PointsTo.html#a79333c4ae5c002d9632fa589956b3605">SVF::PointsTo</a>
|
|
423
|
+
</li>
|
|
422
424
|
<li>cbvIt
|
|
423
425
|
: <a class="el" href="classSVF_1_1PointsTo_1_1PointsToIterator.html#a4db2c62eb3ad789ab7aaf7506cd340b2">SVF::PointsTo::PointsToIterator</a>
|
|
424
426
|
</li>
|
|
@@ -1758,12 +1760,14 @@ $(function() {
|
|
|
1758
1760
|
<li>CxtStmtToCxtLockS
|
|
1759
1761
|
: <a class="el" href="classSVF_1_1LockResultValidator.html#a03954bdf28345cd7fbcd5cc242d40681">SVF::LockResultValidator</a>
|
|
1760
1762
|
</li>
|
|
1763
|
+
<li>cxtStmtToCxtLockSet
|
|
1764
|
+
: <a class="el" href="classSVF_1_1LockAnalysis.html#ae256a84fd63947a6f81bee030bdbe7fc">SVF::LockAnalysis</a>
|
|
1765
|
+
</li>
|
|
1761
1766
|
<li>CxtStmtToCxtLockSet
|
|
1762
1767
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a710aad28484677637367e9098a55c7d7">SVF::LockAnalysis</a>
|
|
1763
1768
|
</li>
|
|
1764
1769
|
<li>cxtStmtToCxtLockSet
|
|
1765
|
-
: <a class="el" href="
|
|
1766
|
-
, <a class="el" href="classSVF_1_1LockResultValidator.html#ad8a03181445edeb835fed08c88f6e0bb">SVF::LockResultValidator</a>
|
|
1770
|
+
: <a class="el" href="classSVF_1_1LockResultValidator.html#ad8a03181445edeb835fed08c88f6e0bb">SVF::LockResultValidator</a>
|
|
1767
1771
|
</li>
|
|
1768
1772
|
<li>CxtStmtToLockFlagMap
|
|
1769
1773
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a451d9b41fd048e11615ea47872f614c9">SVF::LockAnalysis</a>
|
|
@@ -1782,7 +1786,7 @@ $(function() {
|
|
|
1782
1786
|
: <a class="el" href="classSVF_1_1CxtThread.html#ac6af46ba08bbad4454358298fd2557d3">SVF::CxtThread</a>
|
|
1783
1787
|
</li>
|
|
1784
1788
|
<li>CxtThreadProc()
|
|
1785
|
-
: <a class="el" href="classSVF_1_1CxtThreadProc.html#
|
|
1789
|
+
: <a class="el" href="classSVF_1_1CxtThreadProc.html#a1c7dd7740266a07d354df537a9167bcc">SVF::CxtThreadProc</a>
|
|
1786
1790
|
</li>
|
|
1787
1791
|
<li>CxtThreadProcSet
|
|
1788
1792
|
: <a class="el" href="classSVF_1_1TCT.html#a09493a428c0ebe7f67847b48f0481f40">SVF::TCT</a>
|
|
@@ -1791,7 +1795,7 @@ $(function() {
|
|
|
1791
1795
|
: <a class="el" href="classSVF_1_1TCT.html#a23df579f18d4ea4b0f47272091ddc43e">SVF::TCT</a>
|
|
1792
1796
|
</li>
|
|
1793
1797
|
<li>CxtThreadStmt()
|
|
1794
|
-
: <a class="el" href="classSVF_1_1CxtThreadStmt.html#
|
|
1798
|
+
: <a class="el" href="classSVF_1_1CxtThreadStmt.html#adeef75dbfd24665521931780c70aa5f9">SVF::CxtThreadStmt</a>
|
|
1795
1799
|
</li>
|
|
1796
1800
|
<li>CxtThreadStmtSet
|
|
1797
1801
|
: <a class="el" href="classSVF_1_1MHP.html#a28031502c4f8f0d4012c0827c57efb32">SVF::MHP</a>
|
|
@@ -540,11 +540,13 @@ $(function() {
|
|
|
540
540
|
</li>
|
|
541
541
|
<li>FunToLoopInfoMap
|
|
542
542
|
: <a class="el" href="classSVF_1_1MTA.html#a2473be56f2861ad101f65a65e02dff8d">SVF::MTA</a>
|
|
543
|
-
, <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#ad76c187197c73fad8dd0c8bdb57b10f7">SVF::PTACFInfoBuilder</a>
|
|
544
543
|
</li>
|
|
545
544
|
<li>funToLoopInfoMap
|
|
546
545
|
: <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a155db92ff5057abcb929c0ca8e8bee89">SVF::PTACFInfoBuilder</a>
|
|
547
546
|
</li>
|
|
547
|
+
<li>FunToLoopInfoMap
|
|
548
|
+
: <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#ad76c187197c73fad8dd0c8bdb57b10f7">SVF::PTACFInfoBuilder</a>
|
|
549
|
+
</li>
|
|
548
550
|
<li>funToModsMap
|
|
549
551
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a2c94bfa19ad8d1d6360b12693c8b891d">SVF::MRGenerator</a>
|
|
550
552
|
</li>
|
|
@@ -584,12 +586,12 @@ $(function() {
|
|
|
584
586
|
<li>FunToRetMap
|
|
585
587
|
: <a class="el" href="classSVF_1_1SVFIR.html#ae34e5ff2f065ad752c248337d625b2e3">SVF::SVFIR</a>
|
|
586
588
|
</li>
|
|
587
|
-
<li>FunToReturnMuSetMap
|
|
588
|
-
: <a class="el" href="classSVF_1_1MemSSA.html#a3cfc6d7134f98e5876c16c6c043a3d92">SVF::MemSSA</a>
|
|
589
|
-
</li>
|
|
590
589
|
<li>funToReturnMuSetMap
|
|
591
590
|
: <a class="el" href="classSVF_1_1MemSSA.html#abae2396bf8a37a22be9365d368fe455c">SVF::MemSSA</a>
|
|
592
591
|
</li>
|
|
592
|
+
<li>FunToReturnMuSetMap
|
|
593
|
+
: <a class="el" href="classSVF_1_1MemSSA.html#a3cfc6d7134f98e5876c16c6c043a3d92">SVF::MemSSA</a>
|
|
594
|
+
</li>
|
|
593
595
|
<li>FunToSEMap
|
|
594
596
|
: <a class="el" href="classSVF_1_1MTA.html#a2c92809f1395aa064c80aef0c3e4c944">SVF::MTA</a>
|
|
595
597
|
</li>
|
|
@@ -556,9 +556,6 @@ $(function() {
|
|
|
556
556
|
<li>addModSideEffectOfFunction()
|
|
557
557
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a39604645ca9ba10607ada3872b14705a">SVF::MRGenerator</a>
|
|
558
558
|
</li>
|
|
559
|
-
<li>addMrVer()
|
|
560
|
-
: <a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a7ac57ccfe31b6cd6bbc6f15ed22a6531">SVF::IndirectSVFGEdge</a>
|
|
561
|
-
</li>
|
|
562
559
|
<li>AddMSSAPHI()
|
|
563
560
|
: <a class="el" href="classSVF_1_1MemSSA.html#a606aaf7a76ca71cb32adc9af7291ae6e">SVF::MemSSA</a>
|
|
564
561
|
</li>
|
|
@@ -649,7 +646,7 @@ $(function() {
|
|
|
649
646
|
, <a class="el" href="classSVF_1_1PersistentDFPTData.html#a95df7d565ba8e990b61b1c932c8d4273">SVF::PersistentDFPTData< Key, KeySet, Data, DataSet ></a>
|
|
650
647
|
, <a class="el" href="classSVF_1_1PersistentDiffPTData.html#a9f748619f67f3ff9c4c4a429e6614989">SVF::PersistentDiffPTData< Key, KeySet, Data, DataSet ></a>
|
|
651
648
|
, <a class="el" href="classSVF_1_1PersistentPTData.html#a8d53322eadc657ed88a8b724647070b2">SVF::PersistentPTData< Key, KeySet, Data, DataSet ></a>
|
|
652
|
-
, <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
649
|
+
, <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#a7f3730473af9218bea520ec0498fb4ac">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>
|
|
653
650
|
, <a class="el" href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">SVF::PTData< Key, KeySet, Data, DataSet ></a>
|
|
654
651
|
, <a class="el" href="classSVF_1_1VersionedPTData.html#ae00316730227769a39b22d3df1b6d38a">SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>
|
|
655
652
|
</li>
|
|
@@ -683,7 +680,7 @@ $(function() {
|
|
|
683
680
|
: <a class="el" href="classSVF_1_1SVFG.html#a8ebf0e285c69db8332a1f8914d6190f6">SVF::SVFG</a>
|
|
684
681
|
</li>
|
|
685
682
|
<li>addRetNode()
|
|
686
|
-
: <a class="el" href="classSVF_1_1SVFIR.html#
|
|
683
|
+
: <a class="el" href="classSVF_1_1SVFIR.html#a1f63adcd679596996ee2eabf0179462f">SVF::SVFIR</a>
|
|
687
684
|
</li>
|
|
688
685
|
<li>addRetPE()
|
|
689
686
|
: <a class="el" href="classSVF_1_1FormalRetVFGNode.html#a051f7dc0da465d7ce0dc733d9a8fae6a">SVF::FormalRetVFGNode</a>
|
|
@@ -694,10 +691,10 @@ $(function() {
|
|
|
694
691
|
: <a class="el" href="classSVF_1_1MutablePTData.html#ad3175d9c02d8a9f6ad1752ccf3e468cb">SVF::MutablePTData< Key, KeySet, Data, DataSet ></a>
|
|
695
692
|
</li>
|
|
696
693
|
<li>AddrStmt()
|
|
697
|
-
: <a class="el" href="classSVF_1_1AddrStmt.html#
|
|
694
|
+
: <a class="el" href="classSVF_1_1AddrStmt.html#a0fa28f3a081cd6d32801ab245b6e95ae">SVF::AddrStmt</a>
|
|
698
695
|
</li>
|
|
699
696
|
<li>AddrVFGNode()
|
|
700
|
-
: <a class="el" href="classSVF_1_1AddrVFGNode.html#
|
|
697
|
+
: <a class="el" href="classSVF_1_1AddrVFGNode.html#ad44d3d2b21708a472469b08450114f2c">SVF::AddrVFGNode</a>
|
|
701
698
|
</li>
|
|
702
699
|
<li>addSccCandidate()
|
|
703
700
|
: <a class="el" href="classSVF_1_1AndersenSCD.html#ad8530ce52f87c4ea94cac579288e2689">SVF::AndersenSCD</a>
|
|
@@ -734,7 +731,7 @@ $(function() {
|
|
|
734
731
|
: <a class="el" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">SVF::ConstraintGraph</a>
|
|
735
732
|
</li>
|
|
736
733
|
<li>AddStoreCHI()
|
|
737
|
-
: <a class="el" href="classSVF_1_1MemSSA.html#
|
|
734
|
+
: <a class="el" href="classSVF_1_1MemSSA.html#a4e11797df16b0b612191607180acc0c5">SVF::MemSSA</a>
|
|
738
735
|
</li>
|
|
739
736
|
<li>addStoreEdge()
|
|
740
737
|
: <a class="el" href="classSVF_1_1SVFIRBuilder.html#a30f043eeca79259d84b97e265110f018">SVF::SVFIRBuilder</a>
|
|
@@ -859,7 +856,7 @@ $(function() {
|
|
|
859
856
|
: <a class="el" href="classSVF_1_1VFG.html#a65c88a6c20380b715ac8b6c31e68afed">SVF::VFG</a>
|
|
860
857
|
</li>
|
|
861
858
|
<li>addValNode()
|
|
862
|
-
: <a class="el" href="classSVF_1_1SVFIR.html#
|
|
859
|
+
: <a class="el" href="classSVF_1_1SVFIR.html#a93bc14960cdd4eb345c64e9b79757ccf">SVF::SVFIR</a>
|
|
863
860
|
</li>
|
|
864
861
|
<li>addVarargNode()
|
|
865
862
|
: <a class="el" href="classSVF_1_1SVFIR.html#a078c01295f47bf12f1a2b8abfab8b28d">SVF::SVFIR</a>
|
|
@@ -891,18 +888,18 @@ $(function() {
|
|
|
891
888
|
</li>
|
|
892
889
|
<li>alias()
|
|
893
890
|
: <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a25720f154731a8c745da10aa76ab8517">SVF::BVDataPTAImpl</a>
|
|
894
|
-
, <a class="el" href="classSVF_1_1CFLAlias.html#
|
|
895
|
-
, <a class="el" href="classSVF_1_1CondPTAImpl.html#
|
|
891
|
+
, <a class="el" href="classSVF_1_1CFLAlias.html#afb96040a903b9b889fcf23b26cb4565a">SVF::CFLAlias</a>
|
|
892
|
+
, <a class="el" href="classSVF_1_1CondPTAImpl.html#adb1ed3728d53a13c94402392155e9913">SVF::CondPTAImpl< Cond ></a>
|
|
896
893
|
, <a class="el" href="classSVF_1_1DDAPass.html#a96de481dd2af7b39428aff38158c1d4e">SVF::DDAPass</a>
|
|
897
894
|
, <a class="el" href="classSVF_1_1LockAnalysis.html#a4424f27444c12dce8071c56a95c664bf">SVF::LockAnalysis</a>
|
|
898
895
|
, <a class="el" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis</a>
|
|
899
896
|
, <a class="el" href="classSVF_1_1WPAPass.html#a5a71ab4d4bd993ff52da60c730d7b57f">SVF::WPAPass</a>
|
|
900
897
|
</li>
|
|
901
898
|
<li>alias_begin()
|
|
902
|
-
: <a class="el" href="classSVF_1_1SVFModule.html#
|
|
899
|
+
: <a class="el" href="classSVF_1_1SVFModule.html#a7f2b4647c8d69c8328b63e576cb6d065">SVF::SVFModule</a>
|
|
903
900
|
</li>
|
|
904
901
|
<li>alias_end()
|
|
905
|
-
: <a class="el" href="classSVF_1_1SVFModule.html#
|
|
902
|
+
: <a class="el" href="classSVF_1_1SVFModule.html#a3cfd0983849950099d1e8f8e0fda42bc">SVF::SVFModule</a>
|
|
906
903
|
</li>
|
|
907
904
|
<li>AliasDDAClient()
|
|
908
905
|
: <a class="el" href="classSVF_1_1AliasDDAClient.html#af55b1ccfa6cfaa6ec079b19d62288cb6">SVF::AliasDDAClient</a>
|