[llvm-commits] [polly] r149264 - /polly/trunk/lib/ScheduleOptimizer.cpp
Tobias Grosser
grosser at fim.uni-passau.de
Mon Jan 30 11:38:47 PST 2012
Author: grosser
Date: Mon Jan 30 13:38:47 2012
New Revision: 149264
URL: http://llvm.org/viewvc/llvm-project?rev=149264&view=rev
Log:
Scheduling: Use original schedule if we cannot find a new one
After this we can now compile all polybench 2.0 kernels without any compiler
crash.
Modified:
polly/trunk/lib/ScheduleOptimizer.cpp
Modified: polly/trunk/lib/ScheduleOptimizer.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/ScheduleOptimizer.cpp?rev=149264&r1=149263&r2=149264&view=diff
==============================================================================
--- polly/trunk/lib/ScheduleOptimizer.cpp (original)
+++ polly/trunk/lib/ScheduleOptimizer.cpp Mon Jan 30 13:38:47 2012
@@ -32,6 +32,7 @@
#include "isl/constraint.h"
#include "isl/schedule.h"
#include "isl/band.h"
+#include "isl/options.h"
#define DEBUG_TYPE "polly-opt-isl"
#include "llvm/Support/Debug.h"
@@ -460,7 +461,15 @@
isl_options_set_schedule_max_constant_term(S.getIslCtx(), CONSTANT_BOUND);
isl_options_set_schedule_maximize_band_depth(S.getIslCtx(), 1);
+
+ isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_CONTINUE);
schedule = isl_union_set_compute_schedule(domain, validity, proximity);
+ isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_ABORT);
+
+ // In cases the scheduler is not able to optimize the code, we just do not
+ // touch the schedule.
+ if (!schedule)
+ return false;
DEBUG(dbgs() << "Computed schedule: ");
DEBUG(dbgs() << stringFromIslObj(schedule));
More information about the llvm-commits
mailing list