[llvm] [AA] Support Running Target Specific AA before BasicAA (PR #125965)

via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 5 16:19:47 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff b8ee0aac2ad914ef663c0f1892f8a4d5cc70b9fc 613d8fa1b7bd5a33258ee770a9666f8f345461fc --extensions cpp,h -- llvm/include/llvm/Analysis/AliasAnalysis.h llvm/include/llvm/Target/TargetMachine.h llvm/lib/Analysis/AliasAnalysis.cpp llvm/lib/Passes/PassBuilderPipelines.cpp llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp llvm/lib/Target/NVPTX/NVPTXTargetMachine.h
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index 8cba8dffeba..a54c505220c 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -713,7 +713,8 @@ INITIALIZE_PASS(ExternalAAWrapperPass, "external-aa", "External Alias Analysis",
                 false, true)
 
 ImmutablePass *
-llvm::createExternalAAWrapperPass(ExternalAAWrapperPass::CallbackT Callback, bool RunEarly) {
+llvm::createExternalAAWrapperPass(ExternalAAWrapperPass::CallbackT Callback,
+                                  bool RunEarly) {
   return new ExternalAAWrapperPass(std::move(Callback), RunEarly);
 }
 
@@ -751,7 +752,7 @@ bool AAResultsWrapperPass::runOnFunction(Function &F) {
   // registering new results.
   AAR.reset(
       new AAResults(getAnalysis<TargetLibraryInfoWrapperPass>().getTLI(F)));
-  
+
   // For the target need run early target-specific AA, we register it
   // before basicAA.
   auto *ExtWrapperPass = getAnalysisIfAvailable<ExternalAAWrapperPass>();
diff --git a/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h b/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
index 490af0200a0..4b521718edf 100644
--- a/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
+++ b/llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
@@ -86,11 +86,13 @@ public:
   static char ID;
 
   NVPTXExternalAAWrapper()
-      : ExternalAAWrapperPass([](Pass &P, Function &, AAResults &AAR) {
-          if (auto *WrapperPass =
-                  P.getAnalysisIfAvailable<NVPTXAAWrapperPass>())
-            AAR.addAAResult(WrapperPass->getResult());
-        }, true) {}
+      : ExternalAAWrapperPass(
+            [](Pass &P, Function &, AAResults &AAR) {
+              if (auto *WrapperPass =
+                      P.getAnalysisIfAvailable<NVPTXAAWrapperPass>())
+                AAR.addAAResult(WrapperPass->getResult());
+            },
+            true) {}
 };
 
 ImmutablePass *createNVPTXAAWrapperPass();
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index b50ecb41d8b..d02d9d31dff 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -317,10 +317,12 @@ void NVPTXPassConfig::addIRPasses() {
   disablePass(&RemoveLoadsIntoFakeUsesID);
 
   addPass(createNVPTXAAWrapperPass());
-  addPass(createExternalAAWrapperPass([](Pass &P, Function &, AAResults &AAR) {
-    if (auto *WrapperPass = P.getAnalysisIfAvailable<NVPTXAAWrapperPass>())
-      AAR.addAAResult(WrapperPass->getResult());
-  }, true));
+  addPass(createExternalAAWrapperPass(
+      [](Pass &P, Function &, AAResults &AAR) {
+        if (auto *WrapperPass = P.getAnalysisIfAvailable<NVPTXAAWrapperPass>())
+          AAR.addAAResult(WrapperPass->getResult());
+      },
+      true));
 
   // NVVMReflectPass is added in addEarlyAsPossiblePasses, so hopefully running
   // it here does nothing.  But since we need it for correctness when lowering

``````````

</details>


https://github.com/llvm/llvm-project/pull/125965


More information about the llvm-commits mailing list