summaryrefslogtreecommitdiffstats
path: root/polly/lib/Transform/ZoneAlgo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/Transform/ZoneAlgo.cpp')
-rw-r--r--polly/lib/Transform/ZoneAlgo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/polly/lib/Transform/ZoneAlgo.cpp b/polly/lib/Transform/ZoneAlgo.cpp
index 6802615528b..0fd4ab68dbb 100644
--- a/polly/lib/Transform/ZoneAlgo.cpp
+++ b/polly/lib/Transform/ZoneAlgo.cpp
@@ -563,6 +563,11 @@ isl::union_map ZoneAlgorithm::computePerPHI(const ScopArrayInfo *SAI) {
// { DomainPHIRead[] -> Scatter[] }
isl::map PHIWriteTimes = BeforeRead.intersect_range(WriteTimes);
+
+ // Remove instances outside the context.
+ PHIWriteTimes = PHIWriteTimes.intersect_params(S->getAssumedContext());
+ PHIWriteTimes = subtractParams(PHIWriteTimes, S->getInvalidContext());
+
isl::map LastPerPHIWrites = PHIWriteTimes.lexmax();
// { DomainPHIRead[] -> DomainPHIWrite[] }
OpenPOWER on IntegriCloud