diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp --- a/llvm/lib/Analysis/AliasAnalysis.cpp +++ b/llvm/lib/Analysis/AliasAnalysis.cpp @@ -58,8 +58,7 @@ /// Allow disabling BasicAA from the AA results. This is particularly useful /// when testing to isolate a single AA implementation. -static cl::opt DisableBasicAA("disable-basic-aa", cl::Hidden, - cl::init(false)); +cl::opt DisableBasicAA("disable-basic-aa", cl::Hidden, cl::init(false)); AAResults::AAResults(AAResults &&Arg) : TLI(Arg.TLI), AAs(std::move(Arg.AAs)), AADeps(std::move(Arg.AADeps)) { diff --git a/llvm/test/Transforms/SLPVectorizer/X86/limit.ll b/llvm/test/Transforms/SLPVectorizer/X86/limit.ll --- a/llvm/test/Transforms/SLPVectorizer/X86/limit.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/limit.ll @@ -1,5 +1,6 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -slp-vectorizer -S | FileCheck %s +; RUN: opt < %s -slp-vectorizer -enable-new-pm -S | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/llvm/tools/opt/NewPMDriver.cpp b/llvm/tools/opt/NewPMDriver.cpp --- a/llvm/tools/opt/NewPMDriver.cpp +++ b/llvm/tools/opt/NewPMDriver.cpp @@ -109,6 +109,7 @@ extern cl::opt ProfileFile; extern cl::opt CSPGOKindFlag; extern cl::opt CSProfileGenFile; +extern cl::opt DisableBasicAA; static cl::opt ProfileRemappingFile("profile-remapping-file", @@ -346,6 +347,17 @@ NonAAPasses.push_back(PassName); } } + // For compatibility with the legacy PM AA pipeline. + // AAResultsWrapperPass by default provides basic-aa in the legacy PM + // unless -disable-basic-aa is specified. + // TODO: remove this once tests implicitly requiring basic-aa use -passes= and + // -aa-pipeline=basic-aa. + if (!Passes.empty() && !DisableBasicAA) { + if (auto Err = PB.parseAAPipeline(AA, "basic-aa")) { + errs() << Arg0 << ": " << toString(std::move(Err)) << "\n"; + return false; + } + } LoopAnalysisManager LAM(DebugPM); FunctionAnalysisManager FAM(DebugPM);