diff options
| author | Petr Hosek <phosek@google.com> | 2021-09-23 14:02:38 -0700 |
|---|---|---|
| committer | Petr Hosek <phosek@google.com> | 2021-09-23 14:04:25 -0700 |
| commit | c7bcd72a38bcf99e03e4651ed5204d1a1f2bf695 (patch) | |
| tree | ca809e2703fe9a4d3935dc5debfef90af9dba06f /polly/lib/Transform/ScheduleOptimizer.cpp | |
| parent | c7b1279a38286194b2f781c821e6eeaa6dd010cf (diff) | |
Revert "[Polly] Implement user-directed loop distribution/fission."
This reverts commit 52c30adc7dfe6334b71adf256d81f70e7b976143 which
breaks the build when NDEBUG is defined.
Diffstat (limited to 'polly/lib/Transform/ScheduleOptimizer.cpp')
| -rw-r--r-- | polly/lib/Transform/ScheduleOptimizer.cpp | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp index 4c47b8fce76a..355a90f65f8a 100644 --- a/polly/lib/Transform/ScheduleOptimizer.cpp +++ b/polly/lib/Transform/ScheduleOptimizer.cpp @@ -55,7 +55,6 @@ #include "polly/Support/ISLOStream.h" #include "llvm/ADT/Sequence.h" #include "llvm/ADT/Statistic.h" -#include "llvm/Analysis/OptimizationRemarkEmitter.h" #include "llvm/InitializePasses.h" #include "llvm/Support/CommandLine.h" #include "isl/options.h" @@ -669,9 +668,7 @@ static void walkScheduleTreeForStatistics(isl::schedule Schedule, int Version) { static bool runIslScheduleOptimizer( Scop &S, function_ref<const Dependences &(Dependences::AnalysisLevel)> GetDeps, - TargetTransformInfo *TTI, OptimizationRemarkEmitter *ORE, - isl::schedule &LastSchedule) { - + TargetTransformInfo *TTI, isl::schedule &LastSchedule) { // Skip SCoPs in case they're already optimised by PPCGCodeGeneration if (S.isToBeSkipped()) return false; @@ -692,8 +689,8 @@ static bool runIslScheduleOptimizer( bool HasUserTransformation = false; if (PragmaBasedOpts) { - isl::schedule ManuallyTransformed = applyManualTransformations( - &S, Schedule, GetDeps(Dependences::AL_Statement), ORE); + isl::schedule ManuallyTransformed = + applyManualTransformations(&S, Schedule); if (ManuallyTransformed.is_null()) { LLVM_DEBUG(dbgs() << "Error during manual optimization\n"); return false; @@ -852,9 +849,7 @@ static bool runIslScheduleOptimizer( walkScheduleTreeForStatistics(Schedule, 2); } - // Skip profitability check if user transformation(s) have been applied. - if (!HasUserTransformation && - !ScheduleTreeOptimizer::isProfitableSchedule(S, Schedule)) + if (!ScheduleTreeOptimizer::isProfitableSchedule(S, Schedule)) return false; auto ScopStats = S.getStatistics(); @@ -883,11 +878,9 @@ bool IslScheduleOptimizerWrapperPass::runOnScop(Scop &S) { return getAnalysis<DependenceInfo>().getDependences( Dependences::AL_Statement); }; - OptimizationRemarkEmitter &ORE = - getAnalysis<OptimizationRemarkEmitterWrapperPass>().getORE(); TargetTransformInfo *TTI = &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F); - return runIslScheduleOptimizer(S, getDependences, TTI, &ORE, LastSchedule); + return runIslScheduleOptimizer(S, getDependences, TTI, LastSchedule); } static void runScheduleOptimizerPrinter(raw_ostream &OS, @@ -922,10 +915,8 @@ void IslScheduleOptimizerWrapperPass::getAnalysisUsage( ScopPass::getAnalysisUsage(AU); AU.addRequired<DependenceInfo>(); AU.addRequired<TargetTransformInfoWrapperPass>(); - AU.addRequired<OptimizationRemarkEmitterWrapperPass>(); AU.addPreserved<DependenceInfo>(); - AU.addPreserved<OptimizationRemarkEmitterWrapperPass>(); } } // namespace @@ -939,7 +930,6 @@ INITIALIZE_PASS_BEGIN(IslScheduleOptimizerWrapperPass, "polly-opt-isl", INITIALIZE_PASS_DEPENDENCY(DependenceInfo); INITIALIZE_PASS_DEPENDENCY(ScopInfoRegionPass); INITIALIZE_PASS_DEPENDENCY(TargetTransformInfoWrapperPass); -INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass); INITIALIZE_PASS_END(IslScheduleOptimizerWrapperPass, "polly-opt-isl", "Polly - Optimize schedule of SCoP", false, false) @@ -951,10 +941,9 @@ runIslScheduleOptimizerUsingNPM(Scop &S, ScopAnalysisManager &SAM, auto GetDeps = [&Deps](Dependences::AnalysisLevel) -> const Dependences & { return Deps.getDependences(Dependences::AL_Statement); }; - OptimizationRemarkEmitter ORE(&S.getFunction()); TargetTransformInfo *TTI = &SAR.TTI; isl::schedule LastSchedule; - bool Modified = runIslScheduleOptimizer(S, GetDeps, TTI, &ORE, LastSchedule); + bool Modified = runIslScheduleOptimizer(S, GetDeps, TTI, LastSchedule); if (OS) { *OS << "Printing analysis 'Polly - Optimize schedule of SCoP' for region: '" << S.getName() << "' in function '" << S.getFunction().getName() |
