[llvm-commits] [polly] r150483 - /polly/trunk/lib/ScheduleOptimizer.cpp
Tobias Grosser
grosser at fim.uni-passau.de
Tue Feb 14 06:02:44 PST 2012
Author: grosser
Date: Tue Feb 14 08:02:44 2012
New Revision: 150483
URL: http://llvm.org/viewvc/llvm-project?rev=150483&view=rev
Log:
CodeGen: Get dependences for validity and proximity separately
This change itself should not change functionality, but it will make it easier
to support use different dependence kinds in for validity and proximity
constraints.
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=150483&r1=150482&r2=150483&view=diff
==============================================================================
--- polly/trunk/lib/ScheduleOptimizer.cpp (original)
+++ polly/trunk/lib/ScheduleOptimizer.cpp Tue Feb 14 08:02:44 2012
@@ -418,11 +418,13 @@
Dependences *D = &getAnalysis<Dependences>();
// Build input data.
- int DependencyKinds = Dependences::TYPE_RAW
- | Dependences::TYPE_WAR
- | Dependences::TYPE_WAW;
+ int ValidityKinds = Dependences::TYPE_RAW | Dependences::TYPE_WAR
+ | Dependences::TYPE_WAW;
+ int ProximityKinds = Dependences::TYPE_RAW | Dependences::TYPE_WAR
+ | Dependences::TYPE_WAW;
- isl_union_map *Dependences = D->getDependences(DependencyKinds);
+ isl_union_map *Validity = D->getDependences(ValidityKinds);
+ isl_union_map *Proximity = D->getDependences(ProximityKinds);
isl_union_set *Domain = S.getDomains();
if (!Domain)
@@ -436,19 +438,16 @@
// interesting anyway. In some cases this option may stop the scheduler to
// find any schedule.
if (SimplifyDeps == "yes") {
- Dependences = isl_union_map_gist_domain(Dependences,
- isl_union_set_copy(Domain));
- Dependences = isl_union_map_gist_range(Dependences,
- isl_union_set_copy(Domain));
+ Validity = isl_union_map_gist_domain(Validity, isl_union_set_copy(Domain));
+ Validity = isl_union_map_gist_range(Validity, isl_union_set_copy(Domain));
+ Proximity = isl_union_map_gist_domain(Proximity,
+ isl_union_set_copy(Domain));
+ Proximity = isl_union_map_gist_range(Proximity, isl_union_set_copy(Domain));
} else if (SimplifyDeps != "no") {
errs() << "warning: Option -polly-opt-simplify-deps should either be 'yes' "
"or 'no'. Falling back to default: 'yes'\n";
}
- isl_schedule *Schedule;
- isl_union_map *Proximity = isl_union_map_copy(Dependences);
- isl_union_map *Validity = Dependences;
-
DEBUG(dbgs() << "\n\nCompute schedule from: ");
DEBUG(dbgs() << "Domain := "; isl_union_set_dump(Domain); dbgs() << ";\n");
DEBUG(dbgs() << "Proximity := "; isl_union_map_dump(Proximity);
@@ -484,6 +483,7 @@
isl_options_set_schedule_maximize_band_depth(S.getIslCtx(), IslMaximizeBands);
isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_CONTINUE);
+ isl_schedule *Schedule;
Schedule = isl_union_set_compute_schedule(Domain, Validity, Proximity);
isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_ABORT);
More information about the llvm-commits
mailing list