Author: Yitzhak Mandelbaum Date: 2024-01-30T16:05:25-05:00 New Revision: a385c379f8694f42d1efb88bb8c5a53fccb6a664
URL: https://github.com/llvm/llvm-project/commit/a385c379f8694f42d1efb88bb8c5a53fccb6a664 DIFF: https://github.com/llvm/llvm-project/commit/a385c379f8694f42d1efb88bb8c5a53fccb6a664.diff LOG: [clang][dataflow] Drop block-relative cap on worklist iterations. (#80033) As per the FIXME, this cap never really served its purpose. This patch simplifies to a single, caller-specified, absolute cap. Added: Modified: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp Removed: ################################################################################ diff --git a/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp b/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp index 49e425bde66aa..4c88c46142d64 100644 --- a/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp +++ b/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp @@ -540,14 +540,6 @@ runTypeErasedDataflowAnalysis( Worklist.enqueueSuccessors(&Entry); AnalysisContext AC(CFCtx, Analysis, StartingEnv, BlockStates); - - // FIXME: remove relative cap. There isn't really any good setting for - // `MaxAverageVisitsPerBlock`, so it has no clear value over using - // `MaxBlockVisits` directly. - static constexpr std::int32_t MaxAverageVisitsPerBlock = 4; - const std::int32_t RelativeMaxBlockVisits = - MaxAverageVisitsPerBlock * BlockStates.size(); - MaxBlockVisits = std::min(RelativeMaxBlockVisits, MaxBlockVisits); std::int32_t BlockVisits = 0; while (const CFGBlock *Block = Worklist.dequeue()) { LLVM_DEBUG(llvm::dbgs() _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits