diff options
Diffstat (limited to 'polly/lib/Transform/ZoneAlgo.cpp')
-rw-r--r-- | polly/lib/Transform/ZoneAlgo.cpp | 5 |
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[] } |