[PATCH] D47102: createNextIterationMap from C to C++ interface

lorenzo chelini via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 19 01:37:48 PDT 2018


chelini created this revision.
chelini added reviewers: grosser, Meinersbur, jdoerfert, bollu, cs15btech11044.
chelini added a project: Polly.

update createNextIterationMap function to new C++ interface.


Repository:
  rPLO Polly

https://reviews.llvm.org/D47102

Files:
  lib/Analysis/ScopInfo.cpp


Index: lib/Analysis/ScopInfo.cpp
===================================================================
--- lib/Analysis/ScopInfo.cpp
+++ lib/Analysis/ScopInfo.cpp
@@ -2956,19 +2956,19 @@
 ///             [i0, i1, i2, i3] -> [i0, i1, i2 + 1, i3]
 ///
 /// if @p Dim is 2 and @p SetSpace has 4 dimensions.
-static __isl_give isl_map *
-createNextIterationMap(__isl_take isl_space *SetSpace, unsigned Dim) {
-  auto *MapSpace = isl_space_map_from_set(SetSpace);
-  auto *NextIterationMap = isl_map_universe(isl_space_copy(MapSpace));
-  for (unsigned u = 0; u < isl_map_dim(NextIterationMap, isl_dim_in); u++)
+static isl::map createNextIterationMap(isl::space SetSpace, unsigned Dim) {
+  isl::space MapSpace = SetSpace.map_from_set();
+  isl::map NextIterationMap = isl::map::universe(MapSpace);
+  for (unsigned u = 0; u < NextIterationMap.dim(isl::dim::in); u++)
     if (u != Dim)
       NextIterationMap =
-          isl_map_equate(NextIterationMap, isl_dim_in, u, isl_dim_out, u);
-  auto *C = isl_constraint_alloc_equality(isl_local_space_from_space(MapSpace));
-  C = isl_constraint_set_constant_si(C, 1);
-  C = isl_constraint_set_coefficient_si(C, isl_dim_in, Dim, 1);
-  C = isl_constraint_set_coefficient_si(C, isl_dim_out, Dim, -1);
-  NextIterationMap = isl_map_add_constraint(NextIterationMap, C);
+          NextIterationMap.equate(isl::dim::in, u, isl::dim::out, u);
+  isl::constraint C =
+      isl::constraint::alloc_equality(isl::local_space(MapSpace));
+  C = C.set_constant_si(1);
+  C = C.set_coefficient_si(isl::dim::in, Dim, 1);
+  C = C.set_coefficient_si(isl::dim::out, Dim, -1);
+  NextIterationMap = NextIterationMap.add_constraint(C);
   return NextIterationMap;
 }
 
@@ -2981,8 +2981,8 @@
   assert(DomainMap.count(HeaderBB));
   isl::set &HeaderBBDom = DomainMap[HeaderBB];
 
-  isl::map NextIterationMap = isl::manage(
-      createNextIterationMap(HeaderBBDom.get_space().release(), LoopDepth));
+  isl::map NextIterationMap =
+      createNextIterationMap(HeaderBBDom.get_space(), LoopDepth);
 
   isl::set UnionBackedgeCondition = HeaderBBDom.empty(HeaderBBDom.get_space());
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47102.147654.patch
Type: text/x-patch
Size: 2110 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180519/589ad4f2/attachment.bin>


More information about the llvm-commits mailing list