[PATCH] [Polly] Model scalar dependences to avoid trivial statements

Tobias Grosser tobias at grosser.es
Mon Feb 9 13:27:53 PST 2015


Hi Johannes,

the patch looks good in general. Some minor comments.

Tobias


================
Comment at: lib/Analysis/TempScopInfo.cpp:150
@@ -147,1 +149,3 @@
+  bool canSynthesizeInst = canSynthesize(Inst, LI, SE, R);
+  if (canSynthesizeInst && !Functions.empty())
     return false;
----------------
I don't really understand why scalar dependences to uses outside of the scop region only need to be modelled for otherwise trivial basic blocks. Should we not model them in general?

================
Comment at: lib/Analysis/TempScopInfo.cpp:172
@@ +171,3 @@
+    // Check whether or not the use is in the SCoP.
+    bool inRegion = R->contains(UseParent);
+
----------------
Would it make sense to make this an early return?
```
if (!R->contains(UseParent)) {
  AnyCrossStmtUse = true;
  continue;
}
```

================
Comment at: lib/Analysis/TempScopInfo.cpp:177
@@ +176,3 @@
+    if (inRegion && canSynthesizeInst)
+      continue;
+
----------------
Is this condition not implied by the condition below?

http://reviews.llvm.org/D7473

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list