diff options
author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2015-03-05 00:43:48 +0000 |
---|---|---|
committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2015-03-05 00:43:48 +0000 |
commit | 7e6424ba5a6d64040346f775e10c7d4e3cb0c92c (patch) | |
tree | b0f9bfbd4718d0418aad51ead1cc695f88f5946e /polly/lib/Transform/ScheduleOptimizer.cpp | |
parent | 6745822fd1cf54aa68196b317cdbc139418b8aa0 (diff) | |
download | bcm5719-llvm-7e6424ba5a6d64040346f775e10c7d4e3cb0c92c.tar.gz bcm5719-llvm-7e6424ba5a6d64040346f775e10c7d4e3cb0c92c.zip |
Create a dependence struct to hold dependence information for a SCoP.
The new Dependences struct in the DependenceInfo holds all information
that was formerly part of the DependenceInfo. It also provides the
same interface for the user to access this information.
This is another step to a more general ScopPass interface that does
allow multiple SCoPs to be "in flight".
llvm-svn: 231327
Diffstat (limited to 'polly/lib/Transform/ScheduleOptimizer.cpp')
-rw-r--r-- | polly/lib/Transform/ScheduleOptimizer.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp index 20c4f9b1d09..c8585099efa 100644 --- a/polly/lib/Transform/ScheduleOptimizer.cpp +++ b/polly/lib/Transform/ScheduleOptimizer.cpp @@ -481,29 +481,29 @@ bool IslScheduleOptimizer::runOnScop(Scop &S) { return false; } - DependenceInfo *D = &getAnalysis<DependenceInfo>(); + const Dependences &D = getAnalysis<DependenceInfo>().getDependences(); - if (!D->hasValidDependences()) + if (!D.hasValidDependences()) return false; isl_schedule_free(LastSchedule); LastSchedule = nullptr; // Build input data. - int ValidityKinds = DependenceInfo::TYPE_RAW | DependenceInfo::TYPE_WAR | - DependenceInfo::TYPE_WAW; + int ValidityKinds = + Dependences::TYPE_RAW | Dependences::TYPE_WAR | Dependences::TYPE_WAW; int ProximityKinds; if (OptimizeDeps == "all") - ProximityKinds = DependenceInfo::TYPE_RAW | DependenceInfo::TYPE_WAR | - DependenceInfo::TYPE_WAW; + ProximityKinds = + Dependences::TYPE_RAW | Dependences::TYPE_WAR | Dependences::TYPE_WAW; else if (OptimizeDeps == "raw") - ProximityKinds = DependenceInfo::TYPE_RAW; + ProximityKinds = Dependences::TYPE_RAW; else { errs() << "Do not know how to optimize for '" << OptimizeDeps << "'" << " Falling back to optimizing all dependences.\n"; - ProximityKinds = DependenceInfo::TYPE_RAW | DependenceInfo::TYPE_WAR | - DependenceInfo::TYPE_WAW; + ProximityKinds = + Dependences::TYPE_RAW | Dependences::TYPE_WAR | Dependences::TYPE_WAW; } isl_union_set *Domain = S.getDomains(); @@ -511,8 +511,8 @@ bool IslScheduleOptimizer::runOnScop(Scop &S) { if (!Domain) return false; - isl_union_map *Validity = D->getDependences(ValidityKinds); - isl_union_map *Proximity = D->getDependences(ProximityKinds); + isl_union_map *Validity = D.getDependences(ValidityKinds); + isl_union_map *Proximity = D.getDependences(ProximityKinds); // Simplify the dependences by removing the constraints introduced by the // domains. This can speed up the scheduling time significantly, as large |