Skip to content

[clang][SSAF][NFC] Remove redundant overrides from analysis templates#193086

Open
aviralg wants to merge 1 commit intollvm:mainfrom
aviralg:aviralg/ssaf/misc/remove-redundant-virtual-overrides
Open

[clang][SSAF][NFC] Remove redundant overrides from analysis templates#193086
aviralg wants to merge 1 commit intollvm:mainfrom
aviralg:aviralg/ssaf/misc/remove-redundant-virtual-overrides

Conversation

@aviralg
Copy link
Copy Markdown
Contributor

@aviralg aviralg commented Apr 20, 2026

This PR removes redundant:

  • initialize() and finalize() overrides from SummaryAnalysis already provided by SummaryAnalysisBase.
  • step() and finalize() overrides from DerivedAnalysis<> already provided by DerivedAnalysisBase.

@aviralg aviralg marked this pull request as ready for review April 20, 2026 22:20
@aviralg aviralg requested a review from steakhal April 20, 2026 22:20
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:ssaf Scalable Static Analysis Framework labels Apr 20, 2026
@llvmbot
Copy link
Copy Markdown
Member

llvmbot commented Apr 20, 2026

@llvm/pr-subscribers-clang

@llvm/pr-subscribers-clang-ssaf

Author: Aviral Goel (aviralg)

Changes

This PR removes redundant:

  • initialize() and finalize() overrides from SummaryAnalysis already provided by SummaryAnalysisBase.
  • step() and finalize() overrides from DerivedAnalysis&lt;&gt; already provided by DerivedAnalysisBase.

Full diff: https://github.com/llvm/llvm-project/pull/193086.diff

2 Files Affected:

  • (modified) clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h (-7)
  • (modified) clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h (-7)
diff --git a/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
index 1b216ff85b947..ff9470e0a2284 100644
--- a/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
@@ -97,13 +97,6 @@ class DerivedAnalysis : public DerivedAnalysisBase {
   /// Called once with the fixed dependency results before the step() loop.
   virtual llvm::Error initialize(const DepResultTs &...) = 0;
 
-  /// Performs one step. Returns true if another step is needed; false when
-  /// converged. Single-step analyses always return false.
-  virtual llvm::Expected<bool> step() override = 0;
-
-  /// Called after the step() loop converges. Override for post-processing.
-  virtual llvm::Error finalize() override { return llvm::Error::success(); }
-
 protected:
   /// Read-only access to the result being built.
   const ResultT &getResult() const & { return *Result; }
diff --git a/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
index bac7166c79177..5b7c2c9b6b8c2 100644
--- a/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
@@ -93,16 +93,9 @@ class SummaryAnalysis : public SummaryAnalysisBase {
     return Empty;
   }
 
-  /// Called once before the first add() call. Override for initialization.
-  virtual llvm::Error initialize() override { return llvm::Error::success(); }
-
   /// Called once per matching entity. Implement to accumulate data.
   virtual llvm::Error add(EntityId Id, const EntitySummaryT &Summary) = 0;
 
-  /// Called after all entities have been processed.
-  /// Override for post-processing.
-  virtual llvm::Error finalize() override { return llvm::Error::success(); }
-
 protected:
   /// Read-only access to the result being built.
   const ResultT &getResult() const & { return *Result; }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:ssaf Scalable Static Analysis Framework clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants