[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