[Polly][Isl] Stop using isl::set::lex_le_set. NFC
authorRiccardo Mori <patacca@autistici.org>
Mon, 19 Jul 2021 15:06:21 +0000 (17:06 +0200)
committerRiccardo Mori <patacca@autistici.org>
Mon, 19 Jul 2021 15:23:56 +0000 (17:23 +0200)
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:
 - Stop using `isl::set::lex_le_set`. The official way to do this is to use `isl::map::lex_le_at`
 - Removed `isl::set::lex_le_set` from `isl-noexceptions.h`
 - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/266fea1d3dbd31c23d866eb363fcc8e61e50419f

Reviewed By: Meinersbur

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

polly/lib/Analysis/DependenceInfo.cpp
polly/lib/External/isl/include/isl/isl-noexceptions.h

index 6a2e2c0..f00507a 100644 (file)
@@ -673,7 +673,13 @@ bool Dependences::isValidSchedule(
   isl::union_set UDeltas = Dependences.deltas();
   isl::set Deltas = singleton(UDeltas, ScheduleSpace);
 
-  isl::map NonPositive = Deltas.lex_le_set(Zero);
+  isl::space Space = Deltas.get_space();
+  isl::map NonPositive = isl::map::universe(Space.map_from_set());
+  NonPositive =
+      NonPositive.lex_le_at(isl::multi_pw_aff::identity_on_domain(Space));
+  NonPositive = NonPositive.intersect_domain(Deltas);
+  NonPositive = NonPositive.intersect_range(Zero);
+
   return NonPositive.is_empty();
 }
 
index bfeb77e..0aae386 100644 (file)
@@ -2869,7 +2869,6 @@ public:
   inline boolean is_wrapping() const;
   inline isl::map lex_ge_set(isl::set set2) const;
   inline isl::map lex_gt_set(isl::set set2) const;
-  inline isl::map lex_le_set(isl::set set2) const;
   inline isl::map lex_lt_set(isl::set set2) const;
   inline isl::set lexmax() const;
   inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
@@ -16007,12 +16006,6 @@ isl::map set::lex_gt_set(isl::set set2) const
   return manage(res);
 }
 
-isl::map set::lex_le_set(isl::set set2) const
-{
-  auto res = isl_set_lex_le_set(copy(), set2.release());
-  return manage(res);
-}
-
 isl::map set::lex_lt_set(isl::set set2) const
 {
   auto res = isl_set_lex_lt_set(copy(), set2.release());