[polly] d5ee355 - [Polly][Isl] Use isl::union_map::unite() instead of isl::union_map::add_map(). NFC

Riccardo Mori via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 19 03:11:07 PDT 2021


Author: Riccardo Mori
Date: 2021-07-19T12:11:00+02:00
New Revision: d5ee355f89605f0475a18b60fd27837d73dd7852

URL: https://github.com/llvm/llvm-project/commit/d5ee355f89605f0475a18b60fd27837d73dd7852
DIFF: https://github.com/llvm/llvm-project/commit/d5ee355f89605f0475a18b60fd27837d73dd7852.diff

LOG: [Polly][Isl] Use isl::union_map::unite() instead of isl::union_map::add_map(). NFC

This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface.

Changes made:
 - Use `isl::union_map::unite()` instead of `isl::union_map::add_map()`
 - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/3f43ae29fa2a22936a583b85b2fe8d439f805d8d

Depends on D106059

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D106061

Added: 
    

Modified: 
    polly/lib/Analysis/DependenceInfo.cpp
    polly/lib/Analysis/ScopBuilder.cpp
    polly/lib/Analysis/ScopInfo.cpp
    polly/lib/Exchange/JSONExporter.cpp
    polly/lib/External/isl/include/isl/isl-noexceptions.h
    polly/lib/Support/ISLTools.cpp
    polly/lib/Transform/FlattenAlgo.cpp
    polly/lib/Transform/ForwardOpTree.cpp
    polly/lib/Transform/MaximalStaticExpansion.cpp
    polly/lib/Transform/ScheduleTreeTransform.cpp
    polly/lib/Transform/Simplify.cpp
    polly/lib/Transform/ZoneAlgo.cpp
    polly/unittests/DeLICM/DeLICMTest.cpp

Removed: 
    


################################################################################
diff  --git a/polly/lib/Analysis/DependenceInfo.cpp b/polly/lib/Analysis/DependenceInfo.cpp
index 73ec706268f8a..7c492ba93ebae 100644
--- a/polly/lib/Analysis/DependenceInfo.cpp
+++ b/polly/lib/Analysis/DependenceInfo.cpp
@@ -660,7 +660,7 @@ bool Dependences::isValidSchedule(
     if (ScheduleSpace.is_null())
       ScheduleSpace = StmtScat.get_space().range();
 
-    Schedule = Schedule.add_map(StmtScat);
+    Schedule = Schedule.unite(StmtScat);
   }
 
   Dependences = Dependences.apply_domain(Schedule);

diff  --git a/polly/lib/Analysis/ScopBuilder.cpp b/polly/lib/Analysis/ScopBuilder.cpp
index 84316ea6b1fea..1aab9e4935284 100644
--- a/polly/lib/Analysis/ScopBuilder.cpp
+++ b/polly/lib/Analysis/ScopBuilder.cpp
@@ -3369,7 +3369,7 @@ bool ScopBuilder::calculateMinMaxAccess(AliasGroupTy AliasGroup,
   isl::union_map Accesses = isl::union_map::empty(scop->getIslCtx());
 
   for (MemoryAccess *MA : AliasGroup)
-    Accesses = Accesses.add_map(MA->getAccessRelation());
+    Accesses = Accesses.unite(MA->getAccessRelation());
 
   Accesses = Accesses.intersect_domain(Domains);
   isl::union_set Locations = Accesses.range();

diff  --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 728b8af4aea3f..ffb5b32c83721 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -2324,7 +2324,7 @@ Scop::getAccessesOfType(std::function<bool(MemoryAccess &)> Predicate) {
       isl::set Domain = Stmt.getDomain();
       isl::map AccessDomain = MA->getAccessRelation();
       AccessDomain = AccessDomain.intersect_domain(Domain);
-      Accesses = Accesses.add_map(AccessDomain);
+      Accesses = Accesses.unite(AccessDomain);
     }
   }
 

diff  --git a/polly/lib/Exchange/JSONExporter.cpp b/polly/lib/Exchange/JSONExporter.cpp
index 4ef0101025ec1..5a4e01a8b4b74 100644
--- a/polly/lib/Exchange/JSONExporter.cpp
+++ b/polly/lib/Exchange/JSONExporter.cpp
@@ -324,9 +324,9 @@ static bool importSchedule(Scop &S, const json::Object &JScop,
   auto ScheduleMap = isl::union_map::empty(S.getIslCtx());
   for (ScopStmt &Stmt : S) {
     if (NewSchedule.find(&Stmt) != NewSchedule.end())
-      ScheduleMap = ScheduleMap.add_map(NewSchedule[&Stmt]);
+      ScheduleMap = ScheduleMap.unite(NewSchedule[&Stmt]);
     else
-      ScheduleMap = ScheduleMap.add_map(Stmt.getSchedule());
+      ScheduleMap = ScheduleMap.unite(Stmt.getSchedule());
   }
 
   S.setSchedule(ScheduleMap);

diff  --git a/polly/lib/External/isl/include/isl/isl-noexceptions.h b/polly/lib/External/isl/include/isl/isl-noexceptions.h
index fcccf09a3c8ec..bfeb77e17af9f 100644
--- a/polly/lib/External/isl/include/isl/isl-noexceptions.h
+++ b/polly/lib/External/isl/include/isl/isl-noexceptions.h
@@ -3211,7 +3211,6 @@ class union_map {
   inline isl::ctx ctx() const;
   inline void dump() const;
 
-  inline isl::union_map add_map(isl::map map) const;
   inline isl::union_map affine_hull() const;
   inline isl::union_map align_params(isl::space model) const;
   inline isl::union_map apply_domain(isl::union_map umap2) const;
@@ -17463,12 +17462,6 @@ void union_map::dump() const {
 }
 
 
-isl::union_map union_map::add_map(isl::map map) const
-{
-  auto res = isl_union_map_add_map(copy(), map.release());
-  return manage(res);
-}
-
 isl::union_map union_map::affine_hull() const
 {
   auto res = isl_union_map_affine_hull(copy());

diff  --git a/polly/lib/Support/ISLTools.cpp b/polly/lib/Support/ISLTools.cpp
index 1b182829c4222..0e23d5ef5ecf0 100644
--- a/polly/lib/Support/ISLTools.cpp
+++ b/polly/lib/Support/ISLTools.cpp
@@ -94,7 +94,7 @@ isl::union_map polly::beforeScatter(isl::union_map UMap, bool Strict) {
 
   for (isl::map Map : UMap.get_map_list()) {
     isl::map After = beforeScatter(Map, Strict);
-    Result = Result.add_map(After);
+    Result = Result.unite(After);
   }
 
   return Result;
@@ -111,7 +111,7 @@ isl::union_map polly::afterScatter(const isl::union_map &UMap, bool Strict) {
   isl::union_map Result = isl::union_map::empty(UMap.ctx());
   for (isl::map Map : UMap.get_map_list()) {
     isl::map After = afterScatter(Map, Strict);
-    Result = Result.add_map(After);
+    Result = Result.unite(After);
   }
   return Result;
 }
@@ -191,7 +191,7 @@ isl::union_map polly::makeIdentityMap(const isl::union_set &USet,
   isl::union_map Result = isl::union_map::empty(USet.ctx());
   for (isl::set Set : USet.get_set_list()) {
     isl::map IdentityMap = makeIdentityMap(Set, RestrictDomain);
-    Result = Result.add_map(IdentityMap);
+    Result = Result.unite(IdentityMap);
   }
   return Result;
 }
@@ -208,7 +208,7 @@ isl::union_map polly::reverseDomain(const isl::union_map &UMap) {
   isl::union_map Result = isl::union_map::empty(UMap.ctx());
   for (isl::map Map : UMap.get_map_list()) {
     auto Reversed = reverseDomain(std::move(Map));
-    Result = Result.add_map(Reversed);
+    Result = Result.unite(Reversed);
   }
   return Result;
 }
@@ -269,7 +269,7 @@ isl::union_map polly::shiftDim(isl::union_map UMap, isl::dim Dim, int Pos,
 
   for (isl::map Map : UMap.get_map_list()) {
     isl::map Shifted = shiftDim(Map, Dim, Pos, Amount);
-    Result = Result.add_map(Shifted);
+    Result = Result.unite(Shifted);
   }
   return Result;
 }
@@ -489,7 +489,7 @@ isl::union_map polly::distributeDomain(isl::union_map UMap) {
   isl::union_map Result = isl::union_map::empty(UMap.ctx());
   for (isl::map Map : UMap.get_map_list()) {
     auto Distributed = distributeDomain(Map);
-    Result = Result.add_map(Distributed);
+    Result = Result.unite(Distributed);
   }
   return Result;
 }

diff  --git a/polly/lib/Transform/FlattenAlgo.cpp b/polly/lib/Transform/FlattenAlgo.cpp
index de70a9892a6df..6edece553a207 100644
--- a/polly/lib/Transform/FlattenAlgo.cpp
+++ b/polly/lib/Transform/FlattenAlgo.cpp
@@ -119,7 +119,7 @@ isl::union_map scheduleProjectOut(const isl::union_map &UMap, unsigned first,
   auto Result = isl::union_map::empty(UMap.ctx());
   for (isl::map Map : UMap.get_map_list()) {
     auto Outprojected = Map.project_out(isl::dim::out, first, n);
-    Result = Result.add_map(Outprojected);
+    Result = Result.unite(Outprojected);
   }
   return Result;
 }
@@ -147,7 +147,7 @@ isl::union_pw_aff scheduleExtractDimAff(isl::union_map UMap, unsigned pos) {
     unsigned MapDims = Map.range_tuple_dim();
     isl::map SingleMap = Map.project_out(isl::dim::out, 0, pos);
     SingleMap = SingleMap.project_out(isl::dim::out, 1, MapDims - pos - 1);
-    SingleUMap = SingleUMap.add_map(SingleMap);
+    SingleUMap = SingleUMap.unite(SingleMap);
   };
 
   auto UAff = isl::union_pw_multi_aff(SingleUMap);

diff  --git a/polly/lib/Transform/ForwardOpTree.cpp b/polly/lib/Transform/ForwardOpTree.cpp
index cd8fa262c44f0..b54683993e7e8 100644
--- a/polly/lib/Transform/ForwardOpTree.cpp
+++ b/polly/lib/Transform/ForwardOpTree.cpp
@@ -584,7 +584,7 @@ class ForwardOpTreeImpl : ZoneAlgorithm {
       (void)Access;
 
       if (!LocalTranslator.is_null())
-        Translator = Translator.add_map(LocalTranslator);
+        Translator = Translator.unite(LocalTranslator);
 
       NumKnownLoadsForwarded++;
       TotalKnownLoadsForwarded++;

diff  --git a/polly/lib/Transform/MaximalStaticExpansion.cpp b/polly/lib/Transform/MaximalStaticExpansion.cpp
index a4800ad500e18..a28e39bcd5625 100644
--- a/polly/lib/Transform/MaximalStaticExpansion.cpp
+++ b/polly/lib/Transform/MaximalStaticExpansion.cpp
@@ -161,7 +161,7 @@ isl::union_map MaximalStaticExpander::filterDependences(
       continue;
 
     // Add the corresponding map to MapDependences.
-    MapDependences = MapDependences.add_map(NewMap);
+    MapDependences = MapDependences.unite(NewMap);
   }
 
   return MapDependences;

diff  --git a/polly/lib/Transform/ScheduleTreeTransform.cpp b/polly/lib/Transform/ScheduleTreeTransform.cpp
index 537e889f28a93..c0006a5b0f13f 100644
--- a/polly/lib/Transform/ScheduleTreeTransform.cpp
+++ b/polly/lib/Transform/ScheduleTreeTransform.cpp
@@ -248,7 +248,7 @@ struct ExtensionNodeRewriter
       if (OuterDims > 0) {
         isl::map OuterSched =
             Ext.project_out(isl::dim::in, OuterDims, BandDims);
-        OuterExtensions = OuterExtensions.add_map(OuterSched);
+        OuterExtensions = OuterExtensions.unite(OuterSched);
       }
     }
     isl::multi_union_pw_aff NewPartialSchedAsAsMultiUnionPwAff =

diff  --git a/polly/lib/Transform/Simplify.cpp b/polly/lib/Transform/Simplify.cpp
index 01d2a1e34da48..e5fd53289f1c5 100644
--- a/polly/lib/Transform/Simplify.cpp
+++ b/polly/lib/Transform/Simplify.cpp
@@ -81,7 +81,7 @@ static bool isImplicitWrite(MemoryAccess *MA) {
   return MA->isWrite() && MA->isOriginalScalarKind();
 }
 
-/// Like isl::union_map::add_map, but may also return an underapproximated
+/// Like isl::union_map::unite, but may also return an underapproximated
 /// result if getting too complex.
 ///
 /// This is implemented by adding disjuncts to the results until the limit is
@@ -97,7 +97,7 @@ static isl::union_map underapproximatedAddMap(isl::union_map UMap,
   // them.
   if (isl_map_n_basic_map(PrevMap.get()) + isl_map_n_basic_map(Map.get()) <=
       SimplifyMaxDisjuncts)
-    return UMap.add_map(Map);
+    return UMap.unite(Map);
 
   isl::map Result = isl::map::empty(PrevMap.get_space());
   for (isl::basic_map BMap : PrevMap.get_basic_map_list()) {
@@ -113,7 +113,7 @@ static isl::union_map underapproximatedAddMap(isl::union_map UMap,
 
   isl::union_map UResult =
       UMap.subtract(isl::map::universe(PrevMap.get_space()));
-  UResult.add_map(Result);
+  UResult.unite(Result);
 
   return UResult;
 }
@@ -451,7 +451,7 @@ void SimplifyImpl::coalesceWrites() {
                                .get_tuple_id(isl::dim::out)
                                .get_user();
         if (!TouchedAccesses.count(MA))
-          NewFutureWrites = NewFutureWrites.add_map(FutureWrite);
+          NewFutureWrites = NewFutureWrites.unite(FutureWrite);
       }
       FutureWrites = NewFutureWrites;
 
@@ -467,7 +467,7 @@ void SimplifyImpl::coalesceWrites() {
         // { [Domain[] -> Element[]] -> [Value[] -> MemoryAccess[]] }
         isl::map AccRelValAcc =
             isl::map::from_domain_and_range(AccRelWrapped, ValAccSet.wrap());
-        FutureWrites = FutureWrites.add_map(AccRelValAcc);
+        FutureWrites = FutureWrites.unite(AccRelValAcc);
       }
     }
   }
@@ -551,7 +551,7 @@ void SimplifyImpl::removeRedundantWrites() {
           isl::map AccRelVal = isl::map::from_domain_and_range(
               AccRelWrapped, makeValueSet(LoadedVal));
 
-          Known = Known.add_map(AccRelVal);
+          Known = Known.unite(AccRelVal);
         }
       } else if (MA->isWrite()) {
         // Remove (possibly) overwritten values from the known elements set.

diff  --git a/polly/lib/Transform/ZoneAlgo.cpp b/polly/lib/Transform/ZoneAlgo.cpp
index 77d564ac9529f..ae5354c7fb9f2 100644
--- a/polly/lib/Transform/ZoneAlgo.cpp
+++ b/polly/lib/Transform/ZoneAlgo.cpp
@@ -253,7 +253,7 @@ isl::union_map polly::filterKnownValInst(const isl::union_map &UMap) {
   isl::union_map Result = isl::union_map::empty(UMap.ctx());
   for (isl::map Map : UMap.get_map_list()) {
     if (!isMapToUnknown(Map))
-      Result = Result.add_map(Map);
+      Result = Result.unite(Map);
   }
   return Result;
 }
@@ -394,7 +394,7 @@ void ZoneAlgorithm::addArrayReadAccess(MemoryAccess *MA) {
 
   // { DomainRead[] -> Element[] }
   auto AccRel = intersectRange(getAccessRelationFor(MA), CompatibleElts);
-  AllReads = AllReads.add_map(AccRel);
+  AllReads = AllReads.unite(AccRel);
 
   if (LoadInst *Load = dyn_cast_or_null<LoadInst>(MA->getAccessInstruction())) {
     // { DomainRead[] -> ValInst[] }
@@ -407,7 +407,7 @@ void ZoneAlgorithm::addArrayReadAccess(MemoryAccess *MA) {
     // { [Element[] -> DomainRead[]] -> ValInst[] }
     isl::map EltLoadValInst = LoadValInst.apply_domain(IncludeElement);
 
-    AllReadValInst = AllReadValInst.add_map(EltLoadValInst);
+    AllReadValInst = AllReadValInst.unite(EltLoadValInst);
   }
 }
 
@@ -452,10 +452,10 @@ void ZoneAlgorithm::addArrayWriteAccess(MemoryAccess *MA) {
   isl::map AccRel = intersectRange(getAccessRelationFor(MA), CompatibleElts);
 
   if (MA->isMustWrite())
-    AllMustWrites = AllMustWrites.add_map(AccRel);
+    AllMustWrites = AllMustWrites.unite(AccRel);
 
   if (MA->isMayWrite())
-    AllMayWrites = AllMayWrites.add_map(AccRel);
+    AllMayWrites = AllMayWrites.unite(AccRel);
 
   // { Domain[] -> ValInst[] }
   isl::union_map WriteValInstance = getWrittenValue(MA, AccRel);
@@ -556,7 +556,7 @@ isl::union_map ZoneAlgorithm::computePerPHI(const ScopArrayInfo *SAI) {
   // Collect all incoming block timepoints.
   for (MemoryAccess *MA : S->getPHIIncomings(SAI)) {
     isl::map Scatter = getScatterFor(MA);
-    PHIWriteScatter = PHIWriteScatter.add_map(Scatter);
+    PHIWriteScatter = PHIWriteScatter.unite(Scatter);
   }
 
   // { DomainPHIRead[] -> Scatter[] }
@@ -853,7 +853,7 @@ static isl::union_map normalizeValInst(isl::union_map Input,
     // Instructions within the SCoP are always wrapped. Non-wrapped tuples
     // are therefore invariant in the SCoP and don't need normalization.
     if (!RangeSpace.is_wrapping()) {
-      Result = Result.add_map(Map);
+      Result = Result.unite(Map);
       continue;
     }
 
@@ -862,7 +862,7 @@ static isl::union_map normalizeValInst(isl::union_map Input,
 
     // If no normalization is necessary, then the ValInst stands for itself.
     if (!ComputedPHIs.count(PHI)) {
-      Result = Result.add_map(Map);
+      Result = Result.unite(Map);
       continue;
     }
 
@@ -1057,7 +1057,7 @@ void ZoneAlgorithm::computeNormalizedPHIs() {
         isl::map IncomingValInst = makeValInst(
             IncomingVal, IncomingStmt, IncomingStmt->getSurroundingLoop());
 
-        IncomingValInsts = IncomingValInsts.add_map(IncomingValInst);
+        IncomingValInsts = IncomingValInsts.unite(IncomingValInst);
       }
 
       // { PHIValInst[] -> IncomingValInst[] }

diff  --git a/polly/unittests/DeLICM/DeLICMTest.cpp b/polly/unittests/DeLICM/DeLICMTest.cpp
index b11b146fe39b7..6aeea93efe9bb 100644
--- a/polly/unittests/DeLICM/DeLICMTest.cpp
+++ b/polly/unittests/DeLICM/DeLICMTest.cpp
@@ -53,7 +53,7 @@ void completeLifetime(isl::union_set Universe, isl::union_map OccupiedAndKnown,
     for (isl::map Map : OccupiedAndKnown.get_map_list()) {
       if (!Map.has_tuple_name(isl::dim::out))
         continue;
-      Known = Known.add_map(Map);
+      Known = Known.unite(Map);
     }
   }
 


        


More information about the llvm-commits mailing list