[PATCH] [Polly] Compute and print the loop carried dependency distance

Sebastian Pop sebpop at gmail.com
Sat Sep 13 10:33:00 PDT 2014


LGTM with those changes.
Let's also wait for Tobi's ok before commit.

================
Comment at: include/polly/CodeGen/IslAst.h:55
@@ -54,3 +54,3 @@
           IsOutermostParallel(false), IsReductionParallel(false),
-          Build(nullptr) {}
+          DependenceDistance(nullptr), Build(nullptr) {}
 
----------------
MinimalDependenceDistance

================
Comment at: include/polly/CodeGen/IslAst.h:72
@@ -71,1 +71,3 @@
 
+    /// @brief The dependence distance for this loop if constant and not zero.
+    struct isl_pw_aff *DependenceDistance;
----------------
the minimal dependence distance

================
Comment at: include/polly/CodeGen/IslAst.h:73
@@ +72,3 @@
+    /// @brief The dependence distance for this loop if constant and not zero.
+    struct isl_pw_aff *DependenceDistance;
+
----------------
MinimalDependenceDistance

================
Comment at: include/polly/CodeGen/IslAst.h:132
@@ -128,1 +131,3 @@
 
+  /// @brief Get the nodes dependence distance or a nullptr if not available.
+  static __isl_give isl_pw_aff *
----------------
Get the minimal dependence distance or nullptr.

================
Comment at: include/polly/CodeGen/IslAst.h:134
@@ +133,3 @@
+  static __isl_give isl_pw_aff *
+  getDependenceDistance(__isl_keep isl_ast_node *Node);
+
----------------
getMinimalDependenceDistance

================
Comment at: include/polly/Dependences.h:95
@@ -93,1 +94,3 @@
+  /// @param Deps        The dependences @p Schedule needs to respect.
+  /// @param DistancePtr If given the dependences distance will be return here.
   ///
----------------
MinDistancePtr  If not nullptr, the minimal dependence distance will be returned at the address of that pointer 

================
Comment at: lib/Analysis/Dependences.cpp:490
@@ +489,3 @@
+bool Dependences::isParallel(isl_union_map *Schedule, isl_union_map *Deps,
+                             isl_pw_aff **DistancePtr) {
+  isl_set *Deltas, *Distance;
----------------
MinDistancePtr

================
Comment at: lib/Analysis/Dependences.cpp:529
@@ +528,3 @@
+
+  *DistancePtr = isl_pw_aff_coalesce(isl_set_dim_min(Distance, 0));
+
----------------
Please add a comment above this stmt to explain that we take the min of the distance polyhedron.

http://reviews.llvm.org/D4987






More information about the llvm-commits mailing list