summaryrefslogtreecommitdiff
path: root/polly/lib/Transform/ScheduleOptimizer.cpp
diff options
context:
space:
mode:
authorPetr Hosek <phosek@google.com>2021-09-23 14:02:38 -0700
committerPetr Hosek <phosek@google.com>2021-09-23 14:04:25 -0700
commitc7bcd72a38bcf99e03e4651ed5204d1a1f2bf695 (patch)
treeca809e2703fe9a4d3935dc5debfef90af9dba06f /polly/lib/Transform/ScheduleOptimizer.cpp
parentc7b1279a38286194b2f781c821e6eeaa6dd010cf (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.cpp23
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()