[llvm] [AA] Change RunEarly to be a Boolean Flag in ExternalAAWrapper (PR #139158)
via llvm-commits
llvm-commits at lists.llvm.org
Thu May 8 14:17:48 PDT 2025
https://github.com/Chengjunp created https://github.com/llvm/llvm-project/pull/139158
Change the previous runEarly virtual function in ExternalAAWrapper to be a boolean flag.
>From b950df7b6ef389270235deac67eafe0e7deb1817 Mon Sep 17 00:00:00 2001
From: chengjunp <chengjunp at nvidia.com>
Date: Thu, 8 May 2025 21:12:57 +0000
Subject: [PATCH] Change RunEarly to be a boolean flag in ExternalAAWrapper
---
llvm/include/llvm/Analysis/AliasAnalysis.h | 2 +-
llvm/lib/Analysis/AliasAnalysis.cpp | 4 ++--
llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h | 6 +++---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/llvm/include/llvm/Analysis/AliasAnalysis.h b/llvm/include/llvm/Analysis/AliasAnalysis.h
index d23b81854c9ea..6235e6103d05d 100644
--- a/llvm/include/llvm/Analysis/AliasAnalysis.h
+++ b/llvm/include/llvm/Analysis/AliasAnalysis.h
@@ -1023,7 +1023,7 @@ struct ExternalAAWrapperPass : ImmutablePass {
/// particularly useful when the external AA can provide more precise results
/// than Basic AA so that Basic AA does not need to spend time recomputing
/// them.
- virtual bool runEarly() { return false; }
+ bool RunEarly = false;
void getAnalysisUsage(AnalysisUsage &AU) const override {
AU.setPreservesAll();
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index 27bd179a58ede..20c8ce67acbac 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -741,7 +741,7 @@ bool AAResultsWrapperPass::runOnFunction(Function &F) {
// Add any target-specific alias analyses that should be run early.
auto *ExtWrapperPass = getAnalysisIfAvailable<ExternalAAWrapperPass>();
- if (ExtWrapperPass && ExtWrapperPass->runEarly() && ExtWrapperPass->CB) {
+ if (ExtWrapperPass && ExtWrapperPass->RunEarly && ExtWrapperPass->CB) {
LLVM_DEBUG(dbgs() << "AAResults register Early ExternalAA: "
<< ExtWrapperPass->getPassName() << "\n");
ExtWrapperPass->CB(*this, F, *AAR);
@@ -777,7 +777,7 @@ bool AAResultsWrapperPass::runOnFunction(Function &F) {
// If available, run an external AA providing callback over the results as
// well.
- if (ExtWrapperPass && !ExtWrapperPass->runEarly() && ExtWrapperPass->CB) {
+ if (ExtWrapperPass && !ExtWrapperPass->RunEarly && ExtWrapperPass->CB) {
LLVM_DEBUG(dbgs() << "AAResults register Late ExternalAA: "
<< ExtWrapperPass->getPassName() << "\n");
ExtWrapperPass->CB(*this, F, *AAR);
diff --git a/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h b/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
index 430fcd741c1b6..e706f1ebc00fa 100644
--- a/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
+++ b/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
@@ -90,14 +90,14 @@ class NVPTXExternalAAWrapper : public ExternalAAWrapperPass {
public:
static char ID;
- bool runEarly() override { return true; }
-
NVPTXExternalAAWrapper()
: ExternalAAWrapperPass([](Pass &P, Function &, AAResults &AAR) {
if (auto *WrapperPass =
P.getAnalysisIfAvailable<NVPTXAAWrapperPass>())
AAR.addAAResult(WrapperPass->getResult());
- }) {}
+ }) {
+ RunEarly = true;
+ }
StringRef getPassName() const override {
return "NVPTX Address space based Alias Analysis Wrapper";
More information about the llvm-commits
mailing list