From f8814d9293177eab37b80345f13a8a16faf41ca4 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Wed, 25 Oct 2023 21:21:52 -0700 Subject: [PATCH 1/2] [NewPM] Remove AAEval Legacy Pass This patch removes the AAEval legacy pass and associated plumbing. This pass was migrated over to the new pass manager about 11 years ago at this point and there are currently no in-tree users of the legacy pass, so it's essentially just dead code. --- .../llvm/Analysis/AliasAnalysisEvaluator.h | 7 ---- llvm/include/llvm/InitializePasses.h | 1 - llvm/include/llvm/LinkAllPasses.h | 1 - llvm/lib/Analysis/AliasAnalysisEvaluator.cpp | 42 ------------------- llvm/lib/Analysis/Analysis.cpp | 1 - 5 files changed, 52 deletions(-) diff --git a/llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h b/llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h index 113115b871448..20bcbc592afbd 100644 --- a/llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h +++ b/llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h @@ -54,15 +54,8 @@ class AAEvaluator : public PassInfoMixin { PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM); private: - // Allow the legacy pass to run this using an internal API. - friend class AAEvalLegacyPass; - void runInternal(Function &F, AAResults &AA); }; - -/// Create a wrapper of the above for the legacy pass manager. -FunctionPass *createAAEvalPass(); - } #endif diff --git a/llvm/include/llvm/InitializePasses.h b/llvm/include/llvm/InitializePasses.h index fafae8b5ecd7a..da38a38b87ebc 100644 --- a/llvm/include/llvm/InitializePasses.h +++ b/llvm/include/llvm/InitializePasses.h @@ -48,7 +48,6 @@ void initializeGlobalISel(PassRegistry&); /// Initialize all passes linked into the CodeGen library. void initializeTarget(PassRegistry&); -void initializeAAEvalLegacyPassPass(PassRegistry&); void initializeAAResultsWrapperPassPass(PassRegistry&); void initializeAlwaysInlinerLegacyPassPass(PassRegistry&); void initializeAssignmentTrackingAnalysisPass(PassRegistry &); diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h index 31adefe105f4d..3fc90e85c3533 100644 --- a/llvm/include/llvm/LinkAllPasses.h +++ b/llvm/include/llvm/LinkAllPasses.h @@ -61,7 +61,6 @@ namespace { if (std::getenv("bar") != (char*) -1) return; - (void) llvm::createAAEvalPass(); (void) llvm::createBasicAAWrapperPass(); (void) llvm::createSCEVAAWrapperPass(); (void) llvm::createTypeBasedAAWrapperPass(); diff --git a/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp b/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp index a551ea6b69c5a..6bfba46f1e96f 100644 --- a/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp +++ b/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp @@ -319,45 +319,3 @@ AAEvaluator::~AAEvaluator() { << "%/" << ModRefCount * 100 / ModRefSum << "%\n"; } } - -namespace llvm { -class AAEvalLegacyPass : public FunctionPass { - std::unique_ptr P; - -public: - static char ID; // Pass identification, replacement for typeid - AAEvalLegacyPass() : FunctionPass(ID) { - initializeAAEvalLegacyPassPass(*PassRegistry::getPassRegistry()); - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequired(); - AU.setPreservesAll(); - } - - bool doInitialization(Module &M) override { - P.reset(new AAEvaluator()); - return false; - } - - bool runOnFunction(Function &F) override { - P->runInternal(F, getAnalysis().getAAResults()); - return false; - } - bool doFinalization(Module &M) override { - P.reset(); - return false; - } -}; -} - -char AAEvalLegacyPass::ID = 0; -INITIALIZE_PASS_BEGIN(AAEvalLegacyPass, "aa-eval", - "Exhaustive Alias Analysis Precision Evaluator", false, - true) -INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass) -INITIALIZE_PASS_END(AAEvalLegacyPass, "aa-eval", - "Exhaustive Alias Analysis Precision Evaluator", false, - true) - -FunctionPass *llvm::createAAEvalPass() { return new AAEvalLegacyPass(); } diff --git a/llvm/lib/Analysis/Analysis.cpp b/llvm/lib/Analysis/Analysis.cpp index 5461ce07af0b9..80ea803036444 100644 --- a/llvm/lib/Analysis/Analysis.cpp +++ b/llvm/lib/Analysis/Analysis.cpp @@ -18,7 +18,6 @@ using namespace llvm; /// initializeAnalysis - Initialize all passes linked into the Analysis library. void llvm::initializeAnalysis(PassRegistry &Registry) { - initializeAAEvalLegacyPassPass(Registry); initializeBasicAAWrapperPassPass(Registry); initializeBlockFrequencyInfoWrapperPassPass(Registry); initializeBranchProbabilityInfoWrapperPassPass(Registry); From 556e8c356351673b9517bc9612d3a70a41a2f13f Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Mon, 6 Nov 2023 21:42:18 -0800 Subject: [PATCH 2/2] Remove unused includes --- llvm/lib/Analysis/AliasAnalysisEvaluator.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp b/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp index 6bfba46f1e96f..f4b4d8888a547 100644 --- a/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp +++ b/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp @@ -14,8 +14,6 @@ #include "llvm/IR/InstIterator.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/Module.h" -#include "llvm/InitializePasses.h" -#include "llvm/Pass.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/raw_ostream.h" using namespace llvm;