svf-tools 1.0.438 → 1.0.441
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/Andersen_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/BDDExpr_8cpp.html +81 -0
- package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +122 -0
- package/SVF-doxygen/html/html/BDDExpr_8h.html +98 -0
- package/SVF-doxygen/html/html/BDDExpr_8h_source.html +131 -0
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DPItem_8h.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ExeState_8cpp.html +82 -0
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +130 -0
- package/SVF-doxygen/html/html/ExeState_8h.html +139 -0
- package/SVF-doxygen/html/html/ExeState_8h_source.html +130 -0
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Options_8cpp_source.html +113 -114
- package/SVF-doxygen/html/html/Options_8h.html +0 -1
- package/SVF-doxygen/html/html/Options_8h_source.html +115 -117
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -5
- package/SVF-doxygen/html/html/PathCondAllocator_8h.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +24 -24
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8h.html +3 -3
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkSolver_8h.html +96 -0
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +113 -0
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Z3Expr_8h.html +99 -0
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +126 -0
- package/SVF-doxygen/html/html/annotated.html +272 -275
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager-members.html +117 -0
- package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +1318 -0
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +0 -9
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1DPItem.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +76 -76
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ExeState-members.html +113 -0
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1259 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +78 -78
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +74 -74
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +102 -103
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +115 -141
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +131 -132
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +66 -66
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +86 -86
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +106 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +937 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +46 -15
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1451 -104
- package/SVF-doxygen/html/html/classes.html +96 -96
- package/SVF-doxygen/html/html/dir_66541c162fd98954e2c32089ba9a721f.html +2 -0
- package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +2 -0
- package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +4 -4
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +6 -10
- package/SVF-doxygen/html/html/dir_ea25a8a5b2904424d8a51916f8b475b2.html +2 -0
- package/SVF-doxygen/html/html/dir_fdb79cd259bf25322a80ea604c9317b5.html +2 -0
- package/SVF-doxygen/html/html/files.html +42 -40
- package/SVF-doxygen/html/html/functions.html +2 -2
- package/SVF-doxygen/html/html/functions_0x7e.html +9 -21
- package/SVF-doxygen/html/html/functions_a.html +8 -16
- package/SVF-doxygen/html/html/functions_b.html +21 -34
- package/SVF-doxygen/html/html/functions_c.html +33 -63
- package/SVF-doxygen/html/html/functions_d.html +3 -6
- package/SVF-doxygen/html/html/functions_e.html +14 -13
- package/SVF-doxygen/html/html/functions_enum.html +0 -6
- package/SVF-doxygen/html/html/functions_eval_b.html +0 -6
- package/SVF-doxygen/html/html/functions_f.html +9 -9
- package/SVF-doxygen/html/html/functions_func.html +8 -19
- package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -21
- package/SVF-doxygen/html/html/functions_func_b.html +12 -15
- package/SVF-doxygen/html/html/functions_func_c.html +23 -38
- package/SVF-doxygen/html/html/functions_func_d.html +4 -7
- package/SVF-doxygen/html/html/functions_func_e.html +7 -3
- package/SVF-doxygen/html/html/functions_func_f.html +5 -5
- package/SVF-doxygen/html/html/functions_func_g.html +48 -49
- package/SVF-doxygen/html/html/functions_func_h.html +2 -7
- package/SVF-doxygen/html/html/functions_func_i.html +33 -21
- package/SVF-doxygen/html/html/functions_func_l.html +10 -4
- package/SVF-doxygen/html/html/functions_func_m.html +0 -1
- package/SVF-doxygen/html/html/functions_func_n.html +5 -4
- package/SVF-doxygen/html/html/functions_func_o.html +11 -13
- package/SVF-doxygen/html/html/functions_func_p.html +7 -17
- package/SVF-doxygen/html/html/functions_func_r.html +8 -5
- package/SVF-doxygen/html/html/functions_func_s.html +16 -13
- package/SVF-doxygen/html/html/functions_func_t.html +3 -1
- package/SVF-doxygen/html/html/functions_func_v.html +1 -7
- package/SVF-doxygen/html/html/functions_func_z.html +3 -3
- package/SVF-doxygen/html/html/functions_g.html +51 -52
- package/SVF-doxygen/html/html/functions_h.html +3 -8
- package/SVF-doxygen/html/html/functions_i.html +44 -32
- package/SVF-doxygen/html/html/functions_l.html +20 -6
- package/SVF-doxygen/html/html/functions_m.html +2 -3
- package/SVF-doxygen/html/html/functions_n.html +6 -8
- package/SVF-doxygen/html/html/functions_o.html +61 -21
- package/SVF-doxygen/html/html/functions_p.html +33 -41
- package/SVF-doxygen/html/html/functions_r.html +7 -6
- package/SVF-doxygen/html/html/functions_rela.html +78 -4
- package/SVF-doxygen/html/html/functions_s.html +30 -27
- package/SVF-doxygen/html/html/functions_t.html +12 -10
- package/SVF-doxygen/html/html/functions_type_b.html +2 -6
- package/SVF-doxygen/html/html/functions_type_c.html +4 -4
- package/SVF-doxygen/html/html/functions_type_e.html +0 -3
- package/SVF-doxygen/html/html/functions_type_g.html +5 -5
- package/SVF-doxygen/html/html/functions_type_i.html +4 -7
- package/SVF-doxygen/html/html/functions_type_l.html +3 -0
- package/SVF-doxygen/html/html/functions_type_n.html +2 -2
- package/SVF-doxygen/html/html/functions_type_p.html +0 -4
- package/SVF-doxygen/html/html/functions_type_v.html +3 -0
- package/SVF-doxygen/html/html/functions_type_w.html +2 -2
- package/SVF-doxygen/html/html/functions_v.html +10 -13
- package/SVF-doxygen/html/html/functions_vars.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_b.html +2 -5
- package/SVF-doxygen/html/html/functions_vars_c.html +3 -10
- package/SVF-doxygen/html/html/functions_vars_e.html +1 -4
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +1 -4
- package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_n.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_p.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_s.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_t.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_w.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +12 -8
- package/SVF-doxygen/html/html/functions_z.html +3 -13
- package/SVF-doxygen/html/html/globals.html +3 -0
- package/SVF-doxygen/html/html/globals_defs.html +3 -0
- package/SVF-doxygen/html/html/globals_defs_f.html +3 -0
- package/SVF-doxygen/html/html/globals_f.html +5 -2
- package/SVF-doxygen/html/html/globals_s.html +6 -6
- package/SVF-doxygen/html/html/hierarchy.html +422 -425
- package/SVF-doxygen/html/html/menudata.js +4 -4
- package/SVF-doxygen/html/html/namespaceSVF.html +10 -57
- package/SVF-doxygen/html/html/namespacemembers_c.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type.html +1 -7
- package/SVF-doxygen/html/html/namespacemembers_v.html +0 -6
- package/SVF-doxygen/html/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +3 -4
- package/SVF-doxygen/html/html/search/all_10.js +16 -21
- package/SVF-doxygen/html/html/search/all_12.js +4 -3
- package/SVF-doxygen/html/html/search/all_13.js +17 -16
- package/SVF-doxygen/html/html/search/all_14.js +8 -7
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +3 -6
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_1a.js +3 -5
- package/SVF-doxygen/html/html/search/all_1b.js +4 -8
- package/SVF-doxygen/html/html/search/all_2.js +13 -14
- package/SVF-doxygen/html/html/search/all_3.js +14 -24
- package/SVF-doxygen/html/html/search/all_4.js +3 -3
- package/SVF-doxygen/html/html/search/all_5.js +8 -4
- package/SVF-doxygen/html/html/search/all_6.js +6 -5
- package/SVF-doxygen/html/html/search/all_7.js +28 -25
- package/SVF-doxygen/html/html/search/all_8.js +4 -3
- package/SVF-doxygen/html/html/search/all_9.js +19 -13
- package/SVF-doxygen/html/html/search/all_c.js +5 -2
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +5 -5
- package/SVF-doxygen/html/html/search/all_f.js +24 -15
- package/SVF-doxygen/html/html/search/classes_1.js +1 -2
- package/SVF-doxygen/html/html/search/classes_12.js +1 -2
- package/SVF-doxygen/html/html/search/classes_14.js +1 -2
- package/SVF-doxygen/html/html/search/classes_2.js +0 -3
- package/SVF-doxygen/html/html/search/classes_4.js +1 -0
- package/SVF-doxygen/html/html/search/classes_7.js +3 -1
- package/SVF-doxygen/html/html/search/classes_d.js +0 -1
- package/SVF-doxygen/html/html/search/classes_f.js +1 -0
- package/SVF-doxygen/html/html/search/defines_0.js +1 -0
- package/SVF-doxygen/html/html/search/defines_5.js +1 -0
- package/SVF-doxygen/html/html/search/enums_1.js +0 -2
- package/SVF-doxygen/html/html/search/enumvalues_1.js +0 -2
- package/SVF-doxygen/html/html/search/files_1.js +2 -0
- package/SVF-doxygen/html/html/search/files_12.html +26 -0
- package/SVF-doxygen/html/html/search/files_12.js +4 -0
- package/SVF-doxygen/html/html/search/files_2.js +0 -3
- package/SVF-doxygen/html/html/search/files_4.js +2 -0
- package/SVF-doxygen/html/html/search/files_c.js +0 -1
- package/SVF-doxygen/html/html/search/files_d.js +1 -0
- package/SVF-doxygen/html/html/search/functions_0.js +1 -4
- package/SVF-doxygen/html/html/search/functions_1.js +8 -9
- package/SVF-doxygen/html/html/search/functions_10.js +6 -5
- package/SVF-doxygen/html/html/search/functions_11.js +2 -1
- package/SVF-doxygen/html/html/search/functions_13.js +0 -2
- package/SVF-doxygen/html/html/search/functions_15.js +2 -2
- package/SVF-doxygen/html/html/search/functions_16.js +4 -8
- package/SVF-doxygen/html/html/search/functions_2.js +5 -8
- package/SVF-doxygen/html/html/search/functions_3.js +3 -3
- package/SVF-doxygen/html/html/search/functions_4.js +3 -1
- package/SVF-doxygen/html/html/search/functions_5.js +3 -3
- package/SVF-doxygen/html/html/search/functions_6.js +25 -22
- package/SVF-doxygen/html/html/search/functions_7.js +2 -3
- package/SVF-doxygen/html/html/search/functions_8.js +12 -6
- package/SVF-doxygen/html/html/search/functions_a.js +2 -0
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_c.js +2 -1
- package/SVF-doxygen/html/html/search/functions_d.js +7 -7
- package/SVF-doxygen/html/html/search/functions_e.js +5 -8
- package/SVF-doxygen/html/html/search/functions_f.js +2 -1
- package/SVF-doxygen/html/html/search/related_0.js +1 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -2
- package/SVF-doxygen/html/html/search/related_2.js +1 -1
- package/SVF-doxygen/html/html/search/related_3.js +2 -1
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -2
- package/SVF-doxygen/html/html/search/related_6.js +4 -1
- package/SVF-doxygen/html/html/search/related_7.js +2 -4
- package/SVF-doxygen/html/html/search/related_8.js +18 -1
- package/SVF-doxygen/html/html/search/related_9.js +4 -6
- package/SVF-doxygen/html/html/search/related_a.js +1 -2
- package/SVF-doxygen/html/html/search/related_b.js +7 -2
- package/SVF-doxygen/html/html/search/related_c.html +26 -0
- package/SVF-doxygen/html/html/search/related_c.js +5 -0
- package/SVF-doxygen/html/html/search/related_d.html +26 -0
- package/SVF-doxygen/html/html/search/related_d.js +5 -0
- package/SVF-doxygen/html/html/search/searchdata.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -2
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -2
- package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_8.js +3 -4
- package/SVF-doxygen/html/html/search/typedefs_b.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_f.js +0 -1
- package/SVF-doxygen/html/html/search/variables_0.js +1 -1
- package/SVF-doxygen/html/html/search/variables_10.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +0 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +1 -1
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_2.js +1 -2
- package/SVF-doxygen/html/html/search/variables_3.js +4 -6
- package/SVF-doxygen/html/html/search/variables_5.js +1 -2
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -2
- package/SVF-doxygen/html/html/search/variables_c.js +1 -0
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +131 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +131 -0
- package/include/SABER/PathCondAllocator.h +4 -4
- package/include/SABER/SrcSnkDDA.h +2 -2
- package/include/{Util/CFLSolver.h → SABER/SrcSnkSolver.h} +5 -5
- package/include/{Util → SVF-FE}/IRAnnotator.h +0 -0
- package/include/Util/BDDExpr.h +182 -0
- package/include/Util/DPItem.h +1 -1
- package/include/Util/ExeState.h +177 -0
- package/include/Util/Options.h +0 -3
- package/include/Util/Z3Expr.h +235 -0
- package/include/WPA/FlowSensitiveTBHC.h +1 -1
- package/include/{Util → WPA}/TypeBasedHeapCloning.h +0 -0
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/lib/SABER/PathCondAllocator.cpp +1 -1
- package/lib/Util/BDDExpr.cpp +206 -0
- package/lib/Util/ExeState.cpp +236 -0
- package/lib/Util/Options.cpp +0 -11
- package/lib/Util/SVFUtil.cpp +1 -1
- package/lib/WPA/FlowSensitive.cpp +1 -1
- package/lib/{Util → WPA}/TypeBasedHeapCloning.cpp +1 -1
- package/package.json +1 -1
- package/include/Util/Conditions.h +0 -421
- package/include/Util/PathDPItem.h +0 -310
- package/lib/Util/Conditions.cpp +0 -440
|
@@ -96,7 +96,7 @@ $(function() {
|
|
|
96
96
|
<div class="ttc" id="classSVF_1_1WPASolver_html_aaa932894d00b69cfa741f9987a9cc6b8"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SVF::WPASolver::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00090">WPASolver.h:90</a></div></div>
|
|
97
97
|
<div class="ttc" id="cuddInt_8c_html_a5beb39637a978181c7c17714ac96672e"><div class="ttname"><a href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a></div><div class="ttdeci">static DdNode * empty</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l28567">cuddInt.c:28567</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|
|
99
|
-
<div class="ttc" id="classSVF_1_1Options_html_adfc1a5c6098d3867e29fc65ca9ffa1cc"><div class="ttname"><a href="classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
99
|
+
<div class="ttc" id="classSVF_1_1Options_html_adfc1a5c6098d3867e29fc65ca9ffa1cc"><div class="ttname"><a href="classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00037">Options.h:37</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00261">BasicTypes.h:261</a></div></div>
|
|
101
101
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
|
|
102
102
|
<div class="ttc" id="namespaceSVF_html_ac82022f3f81965c3ce9b26c299f537a7"><div class="ttname"><a href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">SVF::NodePairSet</a></div><div class="ttdeci">Set< NodePair > NodePairSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00119">SVFBasicTypes.h:119</a></div></div>
|
|
@@ -119,7 +119,7 @@ $(function() {
|
|
|
119
119
|
<div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00458">ICFGNode.h:458</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1Andersen_html_ac262d42d45dc6130cb031d5b0ed1f024"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac262d42d45dc6130cb031d5b0ed1f024">SVF::Andersen::processStore</a></div><div class="ttdeci">virtual bool processStore(NodeID node, const ConstraintEdge *load)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00340">Andersen.cpp:340</a></div></div>
|
|
121
121
|
<div class="ttc" id="classSVF_1_1PTData_html"><div class="ttname"><a href="classSVF_1_1PTData.html">SVF::PTData</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractPointsToDS_8h_source.html#l00040">AbstractPointsToDS.h:40</a></div></div>
|
|
122
|
-
<div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
122
|
+
<div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00227">Options.h:227</a></div></div>
|
|
123
123
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a35bd5f0fb2c146199e9f1aa6a19b4062"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap< const CallICFGNode *, FunctionSet > CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00111">PointerAnalysis.h:111</a></div></div>
|
|
124
124
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00200">PointerAnalysis.cpp:200</a></div></div>
|
|
125
125
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a849f670b38cb6f65fc23707a212591c7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">SVF::PointsTo::MappingPtr</a></div><div class="ttdeci">std::shared_ptr< std::vector< NodeID > > MappingPtr</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00041">PointsTo.h:41</a></div></div>
|
|
@@ -139,7 +139,7 @@ $(function() {
|
|
|
139
139
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_a9f453ec1b4236b8194ae590981217259"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a9f453ec1b4236b8194ae590981217259">SVF::AndersenBase::numOfFieldExpand</a></div><div class="ttdeci">static u32_t numOfFieldExpand</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00128">Andersen.h:128</a></div></div>
|
|
140
140
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_a6b7d0e57f741c446d0bf178939960143"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">SVF::AndersenBase::timeOfSCCDetection</a></div><div class="ttdeci">static double timeOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00131">Andersen.h:131</a></div></div>
|
|
141
141
|
<div class="ttc" id="classSVF_1_1Steensgaard_html"><div class="ttname"><a href="classSVF_1_1Steensgaard.html">SVF::Steensgaard</a></div><div class="ttdef"><b>Definition:</b> <a href="Steensgaard_8h_source.html#l00020">Steensgaard.h:20</a></div></div>
|
|
142
|
-
<div class="ttc" id="classSVF_1_1Options_html_a98a521e5c99c5248eae8f8234453b116"><div class="ttname"><a href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">SVF::Options::ReadAnder</a></div><div class="ttdeci">static const llvm::cl::opt< std ::string > ReadAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
142
|
+
<div class="ttc" id="classSVF_1_1Options_html_a98a521e5c99c5248eae8f8234453b116"><div class="ttname"><a href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">SVF::Options::ReadAnder</a></div><div class="ttdeci">static const llvm::cl::opt< std ::string > ReadAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00233">Options.h:233</a></div></div>
|
|
143
143
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00263">SVFUtil.h:263</a></div></div>
|
|
144
144
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a0ffe4f1ca1a6f70466cc1c6b3b12c90d"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a0ffe4f1ca1a6f70466cc1c6b3b12c90d">SVF::ConstraintNode::isPWCNode</a></div><div class="ttdeci">bool isPWCNode() const</div><div class="ttdoc">Whether a node involves in PWC, if so, all its points-to elements should become field-insensitive. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00094">ConsGNode.h:94</a></div></div>
|
|
145
145
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a8d58f5224728bb6811f12c94826167f6"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a8d58f5224728bb6811f12c94826167f6">SVF::ConstraintNode::incomingStoresEnd</a></div><div class="ttdeci">const_iterator incomingStoresEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00287">ConsGNode.h:287</a></div></div>
|
|
@@ -159,7 +159,7 @@ $(function() {
|
|
|
159
159
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_ab77173aa8af6155b569f20ff0cdcec72"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab77173aa8af6155b569f20ff0cdcec72">SVF::ConstraintNode::getCopyOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy & getCopyOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00128">ConsGNode.h:128</a></div></div>
|
|
160
160
|
<div class="ttc" id="classSVF_1_1Andersen_html_a3f0048155f0b3a6899dac6f30553aa9e"><div class="ttname"><a href="classSVF_1_1Andersen.html#a3f0048155f0b3a6899dac6f30553aa9e">SVF::Andersen::collapseNodePts</a></div><div class="ttdeci">bool collapseNodePts(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00523">Andersen.cpp:523</a></div></div>
|
|
161
161
|
<div class="ttc" id="classSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00810">Andersen.cpp:810</a></div></div>
|
|
162
|
-
<div class="ttc" id="classSVF_1_1Options_html_a4c7eb57066c80c62ef394d644833214a"><div class="ttname"><a href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">SVF::Options::WriteAnder</a></div><div class="ttdeci">static const llvm::cl::opt< std ::string > WriteAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
162
|
+
<div class="ttc" id="classSVF_1_1Options_html_a4c7eb57066c80c62ef394d644833214a"><div class="ttname"><a href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">SVF::Options::WriteAnder</a></div><div class="ttdeci">static const llvm::cl::opt< std ::string > WriteAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00231">Options.h:231</a></div></div>
|
|
163
163
|
<div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00456">Andersen.cpp:456</a></div></div>
|
|
164
164
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a19d3d2c996ba821227a836717e5443c8"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a19d3d2c996ba821227a836717e5443c8">SVF::ConstraintNode::getGepOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy & getGepOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00136">ConsGNode.h:136</a></div></div>
|
|
165
165
|
<div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
@@ -171,7 +171,7 @@ $(function() {
|
|
|
171
171
|
<div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00156">SVFBasicTypes.h:156</a></div></div>
|
|
172
172
|
<div class="ttc" id="classSVF_1_1Andersen_html_a5a90e681e46c52ffd3debf02910c7ecf"><div class="ttname"><a href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">SVF::Andersen::connectCaller2CalleeParams</a></div><div class="ttdeci">void connectCaller2CalleeParams(CallSite cs, const SVFFunction *F, NodePairSet &cpySrcNodes)</div><div class="ttdoc">Connect formal and actual parameters for indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00684">Andersen.cpp:684</a></div></div>
|
|
173
173
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_af69c7e623ab5a36644b6aeabaa1a1e28"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#af69c7e623ab5a36644b6aeabaa1a1e28">SVF::ConstraintNode::outgoingLoadsBegin</a></div><div class="ttdeci">const_iterator outgoingLoadsBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00258">ConsGNode.h:258</a></div></div>
|
|
174
|
-
<div class="ttc" id="classSVF_1_1Options_html_a69579e2f37962afdbb292a36782511ed"><div class="ttname"><a href="classSVF_1_1Options.html#a69579e2f37962afdbb292a36782511ed">SVF::Options::MergePWC</a></div><div class="ttdeci">static const llvm::cl::opt< bool > MergePWC</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
174
|
+
<div class="ttc" id="classSVF_1_1Options_html_a69579e2f37962afdbb292a36782511ed"><div class="ttname"><a href="classSVF_1_1Options.html#a69579e2f37962afdbb292a36782511ed">SVF::Options::MergePWC</a></div><div class="ttdeci">static const llvm::cl::opt< bool > MergePWC</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00235">Options.h:235</a></div></div>
|
|
175
175
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
176
176
|
<div class="ttc" id="Steensgaard_8h_html"><div class="ttname"><a href="Steensgaard_8h.html">Steensgaard.h</a></div></div>
|
|
177
177
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00214">SVFUtil.h:214</a></div></div>
|
|
@@ -181,7 +181,7 @@ $(function() {
|
|
|
181
181
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
|
|
182
182
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_adaf738bee77a4b1fbb8d42911fabdb49"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#adaf738bee77a4b1fbb8d42911fabdb49">SVF::AndersenBase::AveragePointsToSetSize</a></div><div class="ttdeci">static u32_t AveragePointsToSetSize</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00134">Andersen.h:134</a></div></div>
|
|
183
183
|
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00254">BasicTypes.h:254</a></div></div>
|
|
184
|
-
<div class="ttc" id="classSVF_1_1Options_html_a8459d43a21bcf8a50fc55d14fcf5a81e"><div class="ttname"><a href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
184
|
+
<div class="ttc" id="classSVF_1_1Options_html_a8459d43a21bcf8a50fc55d14fcf5a81e"><div class="ttname"><a href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00040">Options.h:40</a></div></div>
|
|
185
185
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00109">PointerAnalysis.h:109</a></div></div>
|
|
186
186
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
187
187
|
<div class="ttc" id="classSVF_1_1CallSite_html_a9b7d53a345875e4e6c72eb23ac6475de"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">SVF::CallSite::getType</a></div><div class="ttdeci">Type * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00264">BasicTypes.h:264</a></div></div>
|
|
@@ -192,19 +192,19 @@ $(function() {
|
|
|
192
192
|
<div class="ttc" id="classSVF_1_1Andersen_html_a31ea24432ff42ab86a4728f2bde571bc"><div class="ttname"><a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SVF::Andersen::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00603">Andersen.cpp:603</a></div></div>
|
|
193
193
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
194
194
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_ad40b196c2c699bd115529b806d20de25"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">SVF::AndersenBase::timeOfCollapse</a></div><div class="ttdeci">static double timeOfCollapse</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00133">Andersen.h:133</a></div></div>
|
|
195
|
-
<div class="ttc" id="classSVF_1_1Options_html_a620fe156ba70f997eace0ccb0d2c9f67"><div class="ttname"><a href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">SVF::Options::AnderTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > AnderTimeLimit</div><div class="ttdoc">Time limit for the Andersen&#39;s analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
195
|
+
<div class="ttc" id="classSVF_1_1Options_html_a620fe156ba70f997eace0ccb0d2c9f67"><div class="ttname"><a href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">SVF::Options::AnderTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > AnderTimeLimit</div><div class="ttdoc">Time limit for the Andersen&#39;s analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00074">Options.h:74</a></div></div>
|
|
196
196
|
<div class="ttc" id="classSVF_1_1Andersen_html_ae6b1e54a389abc68994219e39539127e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen::mergeSrcToTgt</a></div><div class="ttdeci">virtual bool mergeSrcToTgt(NodeID srcId, NodeID tgtId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00779">Andersen.cpp:779</a></div></div>
|
|
197
197
|
<div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00221">BasicTypes.h:221</a></div></div>
|
|
198
198
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_ae8ac9ad8e766b961c7ce06d7219f37af"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ae8ac9ad8e766b961c7ce06d7219f37af">SVF::ConstraintNode::incomingAddrsEnd</a></div><div class="ttdeci">const_iterator incomingAddrsEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00253">ConsGNode.h:253</a></div></div>
|
|
199
199
|
<div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00480">Andersen.cpp:480</a></div></div>
|
|
200
200
|
<div class="ttc" id="classSVF_1_1AndersenStat_html"><div class="ttname"><a href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00048">WPAStat.h:48</a></div></div>
|
|
201
201
|
<div class="ttc" id="classSVF_1_1GepObjVar_html_a553e648804b39c503e7288dd0434c339"><div class="ttname"><a href="classSVF_1_1GepObjVar.html#a553e648804b39c503e7288dd0434c339">SVF::GepObjVar::getLocationSet</a></div><div class="ttdeci">const LocationSet & getLocationSet() const</div><div class="ttdoc">offset of the mem object </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00480">SVFVariables.h:480</a></div></div>
|
|
202
|
-
<div class="ttc" id="classSVF_1_1Options_html_acf7262c0b0bd91e6dab56a631be51206"><div class="ttname"><a href="classSVF_1_1Options.html#acf7262c0b0bd91e6dab56a631be51206">SVF::Options::PtsDiff</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PtsDiff</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
202
|
+
<div class="ttc" id="classSVF_1_1Options_html_acf7262c0b0bd91e6dab56a631be51206"><div class="ttname"><a href="classSVF_1_1Options.html#acf7262c0b0bd91e6dab56a631be51206">SVF::Options::PtsDiff</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PtsDiff</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00234">Options.h:234</a></div></div>
|
|
203
203
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a168f7f7a3a8c70dbf2b5b4269cd4c7c5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVF::SVFUtil::stopAnalysisLimitTimer</a></div><div class="ttdeci">void stopAnalysisLimitTimer(bool limitTimerSet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00445">SVFUtil.cpp:445</a></div></div>
|
|
204
204
|
<div class="ttc" id="classSVF_1_1AddrCGEdge_html"><div class="ttname"><a href="classSVF_1_1AddrCGEdge.html">SVF::AddrCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00093">ConsGEdge.h:93</a></div></div>
|
|
205
205
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_aa1246b392aeae1fd10c8a9ebedcc2dd9"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aa1246b392aeae1fd10c8a9ebedcc2dd9">SVF::AndersenBase::numOfProcessedGep</a></div><div class="ttdeci">static u32_t numOfProcessedGep</div><div class="ttdoc">Number of processed Copy edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00124">Andersen.h:124</a></div></div>
|
|
206
206
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00048">ConsGEdge.h:48</a></div></div>
|
|
207
|
-
<div class="ttc" id="classSVF_1_1Options_html_a87516daebb3d1b5fee9037068d60e268"><div class="ttname"><a href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">SVF::Options::PrintCGGraph</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PrintCGGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
207
|
+
<div class="ttc" id="classSVF_1_1Options_html_a87516daebb3d1b5fee9037068d60e268"><div class="ttname"><a href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">SVF::Options::PrintCGGraph</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PrintCGGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00229">Options.h:229</a></div></div>
|
|
208
208
|
<div class="ttc" id="classSVF_1_1PTData_html_adbe2b955f119871b54dc502de84b94c4"><div class="ttname"><a href="classSVF_1_1PTData.html#adbe2b955f119871b54dc502de84b94c4">SVF::PTData::getAllPts</a></div><div class="ttdeci">virtual Map< DataSet, unsigned > getAllPts(bool liveOnly) const =0</div></div>
|
|
209
209
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
|
|
210
210
|
<div class="ttc" id="classSVF_1_1Andersen_html_aa697d4a6fe09dd6e50abb09228b3567f"><div class="ttname"><a href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">SVF::Andersen::processGep</a></div><div class="ttdeci">virtual bool processGep(NodeID node, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00380">Andersen.cpp:380</a></div></div>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
6
|
+
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
8
|
+
<title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/lib/Util/BDDExpr.cpp File Reference</title>
|
|
9
|
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
10
|
+
<script type="text/javascript" src="jquery.js"></script>
|
|
11
|
+
<script type="text/javascript" src="dynsections.js"></script>
|
|
12
|
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
13
|
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
14
|
+
<script type="text/javascript" src="search/search.js"></script>
|
|
15
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
19
|
+
<div id="titlearea">
|
|
20
|
+
<table cellspacing="0" cellpadding="0">
|
|
21
|
+
<tbody>
|
|
22
|
+
<tr style="height: 56px;">
|
|
23
|
+
<td id="projectalign" style="padding-left: 0.5em;">
|
|
24
|
+
<div id="projectname">Static Value-Flow Analysis
|
|
25
|
+
</div>
|
|
26
|
+
</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</tbody>
|
|
29
|
+
</table>
|
|
30
|
+
</div>
|
|
31
|
+
<!-- end header part -->
|
|
32
|
+
<!-- Generated by Doxygen 1.8.13 -->
|
|
33
|
+
<script type="text/javascript">
|
|
34
|
+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
35
|
+
</script>
|
|
36
|
+
<script type="text/javascript" src="menudata.js"></script>
|
|
37
|
+
<script type="text/javascript" src="menu.js"></script>
|
|
38
|
+
<script type="text/javascript">
|
|
39
|
+
$(function() {
|
|
40
|
+
initMenu('',true,false,'search.php','Search');
|
|
41
|
+
$(document).ready(function() { init_search(); });
|
|
42
|
+
});
|
|
43
|
+
</script>
|
|
44
|
+
<div id="main-nav"></div>
|
|
45
|
+
<!-- window showing the filter options -->
|
|
46
|
+
<div id="MSearchSelectWindow"
|
|
47
|
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
48
|
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
49
|
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<!-- iframe showing the search results (closed by default) -->
|
|
53
|
+
<div id="MSearchResultsWindow">
|
|
54
|
+
<iframe src="javascript:void(0)" frameborder="0"
|
|
55
|
+
name="MSearchResults" id="MSearchResults">
|
|
56
|
+
</iframe>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div id="nav-path" class="navpath">
|
|
60
|
+
<ul>
|
|
61
|
+
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_862d3276083eaac55caed79b9120bf29.html">Util</a></li> </ul>
|
|
62
|
+
</div>
|
|
63
|
+
</div><!-- top -->
|
|
64
|
+
<div class="header">
|
|
65
|
+
<div class="headertitle">
|
|
66
|
+
<div class="title">BDDExpr.cpp File Reference</div> </div>
|
|
67
|
+
</div><!--header-->
|
|
68
|
+
<div class="contents">
|
|
69
|
+
<div class="textblock"><code>#include "<a class="el" href="Options_8h_source.html">Util/Options.h</a>"</code><br />
|
|
70
|
+
<code>#include "<a class="el" href="BDDExpr_8h_source.html">Util/BDDExpr.h</a>"</code><br />
|
|
71
|
+
</div>
|
|
72
|
+
<p><a href="BDDExpr_8cpp_source.html">Go to the source code of this file.</a></p>
|
|
73
|
+
</div><!-- contents -->
|
|
74
|
+
<!-- start footer part -->
|
|
75
|
+
<hr class="footer"/><address class="footer"><small>
|
|
76
|
+
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
77
|
+
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
78
|
+
</a> 1.8.13
|
|
79
|
+
</small></address>
|
|
80
|
+
</body>
|
|
81
|
+
</html>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
6
|
+
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
8
|
+
<title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/lib/Util/BDDExpr.cpp Source File</title>
|
|
9
|
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
10
|
+
<script type="text/javascript" src="jquery.js"></script>
|
|
11
|
+
<script type="text/javascript" src="dynsections.js"></script>
|
|
12
|
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
13
|
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
14
|
+
<script type="text/javascript" src="search/search.js"></script>
|
|
15
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
19
|
+
<div id="titlearea">
|
|
20
|
+
<table cellspacing="0" cellpadding="0">
|
|
21
|
+
<tbody>
|
|
22
|
+
<tr style="height: 56px;">
|
|
23
|
+
<td id="projectalign" style="padding-left: 0.5em;">
|
|
24
|
+
<div id="projectname">Static Value-Flow Analysis
|
|
25
|
+
</div>
|
|
26
|
+
</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</tbody>
|
|
29
|
+
</table>
|
|
30
|
+
</div>
|
|
31
|
+
<!-- end header part -->
|
|
32
|
+
<!-- Generated by Doxygen 1.8.13 -->
|
|
33
|
+
<script type="text/javascript">
|
|
34
|
+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
35
|
+
</script>
|
|
36
|
+
<script type="text/javascript" src="menudata.js"></script>
|
|
37
|
+
<script type="text/javascript" src="menu.js"></script>
|
|
38
|
+
<script type="text/javascript">
|
|
39
|
+
$(function() {
|
|
40
|
+
initMenu('',true,false,'search.php','Search');
|
|
41
|
+
$(document).ready(function() { init_search(); });
|
|
42
|
+
});
|
|
43
|
+
</script>
|
|
44
|
+
<div id="main-nav"></div>
|
|
45
|
+
<!-- window showing the filter options -->
|
|
46
|
+
<div id="MSearchSelectWindow"
|
|
47
|
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
48
|
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
49
|
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<!-- iframe showing the search results (closed by default) -->
|
|
53
|
+
<div id="MSearchResultsWindow">
|
|
54
|
+
<iframe src="javascript:void(0)" frameborder="0"
|
|
55
|
+
name="MSearchResults" id="MSearchResults">
|
|
56
|
+
</iframe>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div id="nav-path" class="navpath">
|
|
60
|
+
<ul>
|
|
61
|
+
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_862d3276083eaac55caed79b9120bf29.html">Util</a></li> </ul>
|
|
62
|
+
</div>
|
|
63
|
+
</div><!-- top -->
|
|
64
|
+
<div class="header">
|
|
65
|
+
<div class="headertitle">
|
|
66
|
+
<div class="title">BDDExpr.cpp</div> </div>
|
|
67
|
+
</div><!--header-->
|
|
68
|
+
<div class="contents">
|
|
69
|
+
<a href="BDDExpr_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- BDDExpr.cpp -- Context/path conditions in the form of BDDs----------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-2017> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * Conditions.cpp</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Created on: Oct 19, 2021</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Author: Yulei and Xiao</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">Util/Options.h</a>"</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="BDDExpr_8h.html">Util/BDDExpr.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">using namespace </span>SVFUtil;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <a class="code" href="structDdNode.html">BDDExprManager::BDDExpr</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#acf9824ae990ee816bf182fb9e4a14053">BDDExprManager::trueCond</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <a class="code" href="structDdNode.html">BDDExprManager::BDDExpr</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#a7c9d970f02b142a5ca05f8d67e974269">BDDExprManager::falseCond</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <a class="code" href="classSVF_1_1BDDExprManager.html">BDDExprManager</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#a77a80afdf1cece7159d295f7ba11ae8f">BDDExprManager::bddExprMgr</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1BDDExprManager.html#a8d034c572bed854582c391674a5b4f18">BDDExprManager::totalCondNum</a> = 0;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#a632e4559983a49e1d05bb51e46aeba78"> 43</a></span> <a class="code" href="classSVF_1_1BDDExprManager.html#a632e4559983a49e1d05bb51e46aeba78">BDDExprManager::BDDExprManager</a>() {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  m_bdd_mgr = <a class="code" href="cudd_8h.html#a72894f8bc06257ab2a667acb742a3ab6">Cudd_Init</a>(0, 0, <a class="code" href="cudd_8h.html#a5898eb92cde4c11e117bb88330b50019">CUDD_UNIQUE_SLOTS</a>, <a class="code" href="cudd_8h.html#ae43ddb042121362b558a2ff66dd829ed">CUDD_CACHE_SLOTS</a>, 0);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  trueCond = BddOne();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  falseCond = BddZero();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#aecc9ec67017d4f5309cba7be6e83deea"> 49</a></span> <a class="code" href="classSVF_1_1BDDExprManager.html#aecc9ec67017d4f5309cba7be6e83deea">BDDExprManager::~BDDExprManager</a>() {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="cudd_8h.html#a2889ace3fcf7d4e00915de52554fd475">Cudd_Quit</a>(m_bdd_mgr);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#ae7be20333ab86fb5297b33923562c7a5"> 53</a></span> <a class="code" href="classSVF_1_1BDDExprManager.html">BDDExprManager</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#ae7be20333ab86fb5297b33923562c7a5">BDDExprManager::getBDDExprMgr</a>() {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">if</span> (bddExprMgr == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  bddExprMgr = <span class="keyword">new</span> <a class="code" href="classSVF_1_1BDDExprManager.html">BDDExprManager</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">return</span> bddExprMgr;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#a7275a1d4da75370cf5f5f8499fcafa2b"> 60</a></span> <a class="code" href="structDdNode.html">BDDExprManager::BDDExpr</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#a7275a1d4da75370cf5f5f8499fcafa2b">BDDExprManager::createFreshBranchCond</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst) {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> condCountIdx = totalCondNum++;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="structDdNode.html">BDDExpr</a> *bddCond = createCond(condCountIdx);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  setCondInst(bddCond, inst);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">auto</span> *negCond = NEG(bddCond);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  setCondInst(negCond, inst);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">return</span> bddCond;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <a class="code" href="structDdNode.html">BDDExprManager::BDDExpr</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#ac154e934958738288e730faece029436">BDDExprManager::AND</a>(<a class="code" href="structDdNode.html">BDDExpr</a> *lhs, <a class="code" href="structDdNode.html">BDDExpr</a> *rhs) {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">if</span> (lhs == getFalseCond() || rhs == getFalseCond())</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> getFalseCond();</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs == getTrueCond())</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> rhs;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs == getTrueCond())</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> lhs;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="structDdNode.html">BDDExpr</a> *tmp = <a class="code" href="cudd_8h.html#adfbb2fd5b9c884df0d684a86dc26a97d">Cudd_bddAndLimit</a>(m_bdd_mgr, lhs, rhs, <a class="code" href="classSVF_1_1Options.html#a344ca0e4b8d9159836e558aed44be1b4">Options::MaxBddSize</a>);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (tmp == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVFUtil::writeWrnMsg</a>(<span class="stringliteral">"exceeds max bdd size \n"</span>);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">return</span> lhs;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="cudd_8h.html#a3d0d9959640235fc073699c776914fca">Cudd_Ref</a>(tmp);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> tmp;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#a276f68eefe6b168ad5dc9e32c4f265bd"> 95</a></span> <a class="code" href="structDdNode.html">BDDExprManager::BDDExpr</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#a276f68eefe6b168ad5dc9e32c4f265bd">BDDExprManager::OR</a>(<a class="code" href="structDdNode.html">BDDExpr</a> *lhs, <a class="code" href="structDdNode.html">BDDExpr</a> *rhs) {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">if</span> (lhs == getTrueCond() || rhs == getTrueCond())</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> getTrueCond();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs == getFalseCond())</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">return</span> rhs;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs == getFalseCond())</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> lhs;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="structDdNode.html">BDDExpr</a> *tmp = <a class="code" href="cudd_8h.html#a6cbc77f8b658ac3c88a2549a84c58b38">Cudd_bddOrLimit</a>(m_bdd_mgr, lhs, rhs, <a class="code" href="classSVF_1_1Options.html#a344ca0e4b8d9159836e558aed44be1b4">Options::MaxBddSize</a>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span> (tmp == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVFUtil::writeWrnMsg</a>(<span class="stringliteral">"exceeds max bdd size \n"</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> getTrueCond();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="cudd_8h.html#a3d0d9959640235fc073699c776914fca">Cudd_Ref</a>(tmp);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> tmp;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#ace340608e136c33867b3e1a986d65c81"> 115</a></span> <a class="code" href="structDdNode.html">BDDExprManager::BDDExpr</a> *<a class="code" href="classSVF_1_1BDDExprManager.html#ace340608e136c33867b3e1a986d65c81">BDDExprManager::NEG</a>(<a class="code" href="structDdNode.html">BDDExpr</a> *lhs) {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">if</span> (lhs == getTrueCond())</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> getFalseCond();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs == getFalseCond())</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">return</span> getTrueCond();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <a class="code" href="cudd_8h.html#a352ef8d39e760eaabae6d58d9a5ddbfc">Cudd_Not</a>(lhs);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#afb30b41edd5bb6478d30778bc7f09e15"> 129</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1BDDExprManager.html#afb30b41edd5bb6478d30778bc7f09e15">BDDExprManager::isAllPathReachable</a>(<span class="keyword">const</span> <a class="code" href="structDdNode.html">BDDExpr</a> *e) {</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> isEquivalentBranchCond(e, getTrueCond());</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#a78e653083609764e10774a73fbcce2d1"> 137</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BDDExprManager.html#a78e653083609764e10774a73fbcce2d1">BDDExprManager::ddClearFlag</a>(<a class="code" href="structDdNode.html">BDDExpr</a> *f)<span class="keyword"> const </span>{</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">if</span> (!<a class="code" href="cudd_8h.html#a35322518c24f65f44eda9623083cb62c">Cudd_IsComplement</a>(f-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>))</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">/* Clear visited flag. */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  f-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = <a class="code" href="cudd_8h.html#afbbecf4f6f78f92518f4d0a477d870b6">Cudd_Regular</a>(f-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span> (<a class="code" href="cuddInt_8h.html#aa5cad999b2a4a3dbbfe5c1da1d8bc028">cuddIsConstant</a>(f))</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="cuddInt_8c.html#ab69f928c3cca42f5b1330803de1d9199">ddClearFlag</a>(<a class="code" href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a>(f));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="cuddInt_8c.html#ab69f928c3cca42f5b1330803de1d9199">ddClearFlag</a>(<a class="code" href="cudd_8h.html#afbbecf4f6f78f92518f4d0a477d870b6">Cudd_Regular</a>(<a class="code" href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a>(f)));</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#adc2d7b6e5336173550f29f7c5bd2ce0e"> 149</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BDDExprManager.html#adc2d7b6e5336173550f29f7c5bd2ce0e">BDDExprManager::BddSupportStep</a>(<a class="code" href="structDdNode.html">BDDExpr</a> *f, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &support)<span class="keyword"> const </span>{</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">if</span> (<a class="code" href="cuddInt_8h.html#aa5cad999b2a4a3dbbfe5c1da1d8bc028">cuddIsConstant</a>(f) || <a class="code" href="cudd_8h.html#a35322518c24f65f44eda9623083cb62c">Cudd_IsComplement</a>(f-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>))</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  support.set(f-><a class="code" href="structDdNode.html#abbd39b25b9abe4b4d53cd267a4103bda">index</a>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  BddSupportStep(<a class="code" href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a>(f), support);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classSVF_1_1BDDExprManager.html#adc2d7b6e5336173550f29f7c5bd2ce0e">BddSupportStep</a>(<a class="code" href="cudd_8h.html#afbbecf4f6f78f92518f4d0a477d870b6">Cudd_Regular</a>(<a class="code" href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a>(f)), support);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="comment">/* Mark as visited. */</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  f-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = <a class="code" href="cudd_8h.html#ac4575f4314998362765264f64eccfe0c">Cudd_Complement</a>(f-><a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#a5bbd80a97aa794da9568716e456cf40c"> 161</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BDDExprManager.html#a5bbd80a97aa794da9568716e456cf40c">BDDExprManager::extractSubConds</a>(<span class="keyword">const</span> <a class="code" href="structDdNode.html">BDDExpr</a> *f, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &support)<span class="keyword"> const </span>{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  BddSupportStep(<a class="code" href="cudd_8h.html#afbbecf4f6f78f92518f4d0a477d870b6">Cudd_Regular</a>(f), support);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="cuddInt_8c.html#ab69f928c3cca42f5b1330803de1d9199">ddClearFlag</a>(<a class="code" href="cudd_8h.html#afbbecf4f6f78f92518f4d0a477d870b6">Cudd_Regular</a>(f));</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#ae9a81416569c44bb384b61e47ade8bde"> 169</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BDDExprManager.html#ae9a81416569c44bb384b61e47ade8bde">BDDExprManager::dump</a>(<span class="keyword">const</span> <a class="code" href="structDdNode.html">BDDExpr</a> *lhs, <a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &O) {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">if</span> (lhs == getTrueCond())</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  O << <span class="stringliteral">"T"</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> support;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  extractSubConds(lhs, support);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">for</span> (NodeBS::iterator iter = support.begin(); iter != support.end();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  ++iter) {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordtype">unsigned</span> rid = *iter;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  O << rid << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1BDDExprManager.html#aa42ab1c5e6b2774be528bb33f0ca3c7b"> 187</a></span> std::string <a class="code" href="classSVF_1_1BDDExprManager.html#aa42ab1c5e6b2774be528bb33f0ca3c7b">BDDExprManager::dumpStr</a>(<span class="keyword">const</span> <a class="code" href="structDdNode.html">BDDExpr</a> *e)<span class="keyword"> const </span>{</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  std::string str;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">if</span> (e == getTrueCond())</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  str += <span class="stringliteral">"T"</span>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">else</span> {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> support;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  extractSubConds(e, support);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">for</span> (NodeBS::iterator iter = support.begin(); iter != support.end();</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  ++iter) {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordtype">unsigned</span> rid = *iter;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  sprintf(int2str, <span class="stringliteral">"%d"</span>, rid);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  str += int2str;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  str += <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  }</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="ttc" id="classSVF_1_1BDDExprManager_html_adc2d7b6e5336173550f29f7c5bd2ce0e"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#adc2d7b6e5336173550f29f7c5bd2ce0e">SVF::BDDExprManager::BddSupportStep</a></div><div class="ttdeci">void BddSupportStep(BDDExpr *f, NodeBS &support) const</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00149">BDDExpr.cpp:149</a></div></div>
|
|
70
|
+
<div class="ttc" id="cudd_8h_html_a5898eb92cde4c11e117bb88330b50019"><div class="ttname"><a href="cudd_8h.html#a5898eb92cde4c11e117bb88330b50019">CUDD_UNIQUE_SLOTS</a></div><div class="ttdeci">#define CUDD_UNIQUE_SLOTS</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00090">cudd.h:90</a></div></div>
|
|
71
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a7c9d970f02b142a5ca05f8d67e974269"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a7c9d970f02b142a5ca05f8d67e974269">SVF::BDDExprManager::falseCond</a></div><div class="ttdeci">static BDDExpr * falseCond</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8h_source.html#l00170">BDDExpr.h:170</a></div></div>
|
|
72
|
+
<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#l00264">cudd.h:264</a></div></div>
|
|
73
|
+
<div class="ttc" id="cudd_8h_html_a352ef8d39e760eaabae6d58d9a5ddbfc"><div class="ttname"><a href="cudd_8h.html#a352ef8d39e760eaabae6d58d9a5ddbfc">Cudd_Not</a></div><div class="ttdeci">#define Cudd_Not(node)</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00343">cudd.h:343</a></div></div>
|
|
74
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a5bbd80a97aa794da9568716e456cf40c"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a5bbd80a97aa794da9568716e456cf40c">SVF::BDDExprManager::extractSubConds</a></div><div class="ttdeci">void extractSubConds(const BDDExpr *f, NodeBS &support) const</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00161">BDDExpr.cpp:161</a></div></div>
|
|
75
|
+
<div class="ttc" id="cudd_8h_html_afbbecf4f6f78f92518f4d0a477d870b6"><div class="ttname"><a href="cudd_8h.html#afbbecf4f6f78f92518f4d0a477d870b6">Cudd_Regular</a></div><div class="ttdeci">#define Cudd_Regular(node)</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00373">cudd.h:373</a></div></div>
|
|
76
|
+
<div class="ttc" id="cudd_8h_html_ae43ddb042121362b558a2ff66dd829ed"><div class="ttname"><a href="cudd_8h.html#ae43ddb042121362b558a2ff66dd829ed">CUDD_CACHE_SLOTS</a></div><div class="ttdeci">#define CUDD_CACHE_SLOTS</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00091">cudd.h:91</a></div></div>
|
|
77
|
+
<div class="ttc" id="cudd_8h_html_adfbb2fd5b9c884df0d684a86dc26a97d"><div class="ttname"><a href="cudd_8h.html#adfbb2fd5b9c884df0d684a86dc26a97d">Cudd_bddAndLimit</a></div><div class="ttdeci">DdNode * Cudd_bddAndLimit(DdManager *dd, DdNode *f, DdNode *g, unsigned int limit)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l03146">cuddInt.c:3146</a></div></div>
|
|
78
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a276f68eefe6b168ad5dc9e32c4f265bd"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a276f68eefe6b168ad5dc9e32c4f265bd">SVF::BDDExprManager::OR</a></div><div class="ttdeci">virtual BDDExpr * OR(BDDExpr *lhs, BDDExpr *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00095">BDDExpr.cpp:95</a></div></div>
|
|
79
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a8d034c572bed854582c391674a5b4f18"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a8d034c572bed854582c391674a5b4f18">SVF::BDDExprManager::totalCondNum</a></div><div class="ttdeci">static u32_t totalCondNum</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8h_source.html#l00063">BDDExpr.h:63</a></div></div>
|
|
80
|
+
<div class="ttc" id="cudd_8h_html_a6cbc77f8b658ac3c88a2549a84c58b38"><div class="ttname"><a href="cudd_8h.html#a6cbc77f8b658ac3c88a2549a84c58b38">Cudd_bddOrLimit</a></div><div class="ttdeci">DdNode * Cudd_bddOrLimit(DdManager *dd, DdNode *f, DdNode *g, unsigned int limit)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l03214">cuddInt.c:3214</a></div></div>
|
|
81
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00081">SVFBasicTypes.h:81</a></div></div>
|
|
82
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
|
|
83
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_ace340608e136c33867b3e1a986d65c81"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#ace340608e136c33867b3e1a986d65c81">SVF::BDDExprManager::NEG</a></div><div class="ttdeci">virtual BDDExpr * NEG(BDDExpr *lhs)</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00115">BDDExpr.cpp:115</a></div></div>
|
|
84
|
+
<div class="ttc" id="cuddInt_8c_html_ab69f928c3cca42f5b1330803de1d9199"><div class="ttname"><a href="cuddInt_8c.html#ab69f928c3cca42f5b1330803de1d9199">ddClearFlag</a></div><div class="ttdeci">static void ddClearFlag(DdNode *f)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l23821">cuddInt.c:23821</a></div></div>
|
|
85
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_afb30b41edd5bb6478d30778bc7f09e15"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#afb30b41edd5bb6478d30778bc7f09e15">SVF::BDDExprManager::isAllPathReachable</a></div><div class="ttdeci">bool isAllPathReachable(const BDDExpr *e)</div><div class="ttdoc">Whether All Paths are reachable. </div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00129">BDDExpr.cpp:129</a></div></div>
|
|
86
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_aa42ab1c5e6b2774be528bb33f0ca3c7b"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#aa42ab1c5e6b2774be528bb33f0ca3c7b">SVF::BDDExprManager::dumpStr</a></div><div class="ttdeci">std::string dumpStr(const BDDExpr *e) const</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00187">BDDExpr.cpp:187</a></div></div>
|
|
87
|
+
<div class="ttc" id="cudd_8h_html_a35322518c24f65f44eda9623083cb62c"><div class="ttname"><a href="cudd_8h.html#a35322518c24f65f44eda9623083cb62c">Cudd_IsComplement</a></div><div class="ttdeci">#define Cudd_IsComplement(node)</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00401">cudd.h:401</a></div></div>
|
|
88
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_ae9a81416569c44bb384b61e47ade8bde"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#ae9a81416569c44bb384b61e47ade8bde">SVF::BDDExprManager::dump</a></div><div class="ttdeci">void dump(const BDDExpr *lhs, OutStream &O)</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00169">BDDExpr.cpp:169</a></div></div>
|
|
89
|
+
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
90
|
+
<div class="ttc" id="classSVF_1_1Options_html_a344ca0e4b8d9159836e558aed44be1b4"><div class="ttname"><a href="classSVF_1_1Options.html#a344ca0e4b8d9159836e558aed44be1b4">SVF::Options::MaxBddSize</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxBddSize</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00218">Options.h:218</a></div></div>
|
|
91
|
+
<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#l00267">cudd.h:267</a></div></div>
|
|
92
|
+
<div class="ttc" id="BDDExpr_8h_html"><div class="ttname"><a href="BDDExpr_8h.html">BDDExpr.h</a></div></div>
|
|
93
|
+
<div class="ttc" id="cudd_8h_html_a72894f8bc06257ab2a667acb742a3ab6"><div class="ttname"><a href="cudd_8h.html#a72894f8bc06257ab2a667acb742a3ab6">Cudd_Init</a></div><div class="ttdeci">DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l10544">cuddInt.c:10544</a></div></div>
|
|
94
|
+
<div class="ttc" id="cuddInt_8h_html_aa5cad999b2a4a3dbbfe5c1da1d8bc028"><div class="ttname"><a href="cuddInt_8h.html#aa5cad999b2a4a3dbbfe5c1da1d8bc028">cuddIsConstant</a></div><div class="ttdeci">#define cuddIsConstant(node)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00593">cuddInt.h:593</a></div></div>
|
|
95
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html">SVF::BDDExprManager</a></div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8h_source.html#l00041">BDDExpr.h:41</a></div></div>
|
|
96
|
+
<div class="ttc" id="cudd_8h_html_ac4575f4314998362765264f64eccfe0c"><div class="ttname"><a href="cudd_8h.html#ac4575f4314998362765264f64eccfe0c">Cudd_Complement</a></div><div class="ttdeci">#define Cudd_Complement(node)</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00387">cudd.h:387</a></div></div>
|
|
97
|
+
<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#l00609">cuddInt.h:609</a></div></div>
|
|
98
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_ae7be20333ab86fb5297b33923562c7a5"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#ae7be20333ab86fb5297b33923562c7a5">SVF::BDDExprManager::getBDDExprMgr</a></div><div class="ttdeci">static BDDExprManager * getBDDExprMgr()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00053">BDDExpr.cpp:53</a></div></div>
|
|
99
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_ac154e934958738288e730faece029436"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#ac154e934958738288e730faece029436">SVF::BDDExprManager::AND</a></div><div class="ttdeci">virtual BDDExpr * AND(BDDExpr *lhs, BDDExpr *rhs)</div><div class="ttdoc">Operations on conditions. </div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00072">BDDExpr.cpp:72</a></div></div>
|
|
100
|
+
<div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
101
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a77a80afdf1cece7159d295f7ba11ae8f"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a77a80afdf1cece7159d295f7ba11ae8f">SVF::BDDExprManager::bddExprMgr</a></div><div class="ttdeci">static BDDExprManager * bddExprMgr</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8h_source.html#l00046">BDDExpr.h:46</a></div></div>
|
|
102
|
+
<div class="ttc" id="structDdNode_html_abbd39b25b9abe4b4d53cd267a4103bda"><div class="ttname"><a href="structDdNode.html#abbd39b25b9abe4b4d53cd267a4103bda">DdNode::index</a></div><div class="ttdeci">DdHalfWord index</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00265">cudd.h:265</a></div></div>
|
|
103
|
+
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
|
|
104
|
+
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00092">SVFBasicTypes.h:92</a></div></div>
|
|
105
|
+
<div class="ttc" id="cuddInt_8h_html_aaef03f10591d8e28bb5fecd2aa7c93ff"><div class="ttname"><a href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a></div><div class="ttdeci">#define cuddE(node)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00625">cuddInt.h:625</a></div></div>
|
|
106
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a632e4559983a49e1d05bb51e46aeba78"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a632e4559983a49e1d05bb51e46aeba78">SVF::BDDExprManager::BDDExprManager</a></div><div class="ttdeci">BDDExprManager()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00043">BDDExpr.cpp:43</a></div></div>
|
|
107
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a7275a1d4da75370cf5f5f8499fcafa2b"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a7275a1d4da75370cf5f5f8499fcafa2b">SVF::BDDExprManager::createFreshBranchCond</a></div><div class="ttdeci">virtual BDDExpr * createFreshBranchCond(const Instruction *inst)</div><div class="ttdoc">Create a fresh condition to encode each program branch. </div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00060">BDDExpr.cpp:60</a></div></div>
|
|
108
|
+
<div class="ttc" id="cudd_8h_html_a2889ace3fcf7d4e00915de52554fd475"><div class="ttname"><a href="cudd_8h.html#a2889ace3fcf7d4e00915de52554fd475">Cudd_Quit</a></div><div class="ttdeci">void Cudd_Quit(DdManager *unique)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l10641">cuddInt.c:10641</a></div></div>
|
|
109
|
+
<div class="ttc" id="cudd_8h_html_a3d0d9959640235fc073699c776914fca"><div class="ttname"><a href="cudd_8h.html#a3d0d9959640235fc073699c776914fca">Cudd_Ref</a></div><div class="ttdeci">void Cudd_Ref(DdNode *n)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l14002">cuddInt.c:14002</a></div></div>
|
|
110
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_a78e653083609764e10774a73fbcce2d1"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#a78e653083609764e10774a73fbcce2d1">SVF::BDDExprManager::ddClearFlag</a></div><div class="ttdeci">void ddClearFlag(BDDExpr *f) const</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00137">BDDExpr.cpp:137</a></div></div>
|
|
111
|
+
<div class="ttc" id="namespaceSVF_html_a8bd74fdcb0e58d0249003df9c3fb8b31"><div class="ttname"><a href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a></div><div class="ttdeci">std::ostream OutStream</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00079">SVFBasicTypes.h:79</a></div></div>
|
|
112
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_aecc9ec67017d4f5309cba7be6e83deea"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#aecc9ec67017d4f5309cba7be6e83deea">SVF::BDDExprManager::~BDDExprManager</a></div><div class="ttdeci">virtual ~BDDExprManager()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8cpp_source.html#l00049">BDDExpr.cpp:49</a></div></div>
|
|
113
|
+
<div class="ttc" id="classSVF_1_1BDDExprManager_html_acf9824ae990ee816bf182fb9e4a14053"><div class="ttname"><a href="classSVF_1_1BDDExprManager.html#acf9824ae990ee816bf182fb9e4a14053">SVF::BDDExprManager::trueCond</a></div><div class="ttdeci">static BDDExpr * trueCond</div><div class="ttdef"><b>Definition:</b> <a href="BDDExpr_8h_source.html#l00169">BDDExpr.h:169</a></div></div>
|
|
114
|
+
</div><!-- fragment --></div><!-- contents -->
|
|
115
|
+
<!-- start footer part -->
|
|
116
|
+
<hr class="footer"/><address class="footer"><small>
|
|
117
|
+
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
118
|
+
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
119
|
+
</a> 1.8.13
|
|
120
|
+
</small></address>
|
|
121
|
+
</body>
|
|
122
|
+
</html>
|