[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 15:14:05 PDT 2025
================
@@ -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;
----------------
Chengjunp wrote:
Could you further explain how to "hide" RunEarly under an EarlyExternalAA and LateExternalAA wrapper class?
Do you mean making the constructor of ExternalAAWrapperPass to be
```
explicit ExternalAAWrapperPass(CallbackT CB, bool RunEarly = false);
```
and having
```
NVPTXExternalAAWrapper()
: ExternalAAWrapperPass([](Pass &P, Function &, AAResults &AAR) {
if (auto *WrapperPass =
P.getAnalysisIfAvailable<NVPTXAAWrapperPass>())
AAR.addAAResult(WrapperPass->getResult());
}, /*RunEarly=*/true) {}
```
?
https://github.com/llvm/llvm-project/pull/139158
More information about the llvm-commits
mailing list