Skip to content

Commit

Permalink
[ZoneAlgo] Add motivation for exception. NFC.
Browse files Browse the repository at this point in the history
Suggested-by: Hongbin Zheng <etherzhhb@gmail.com>
llvm-svn: 310455
  • Loading branch information
Meinersbur committed Aug 9, 2017
1 parent a9033aa commit 8756b3f
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions polly/lib/Transform/ZoneAlgo.cpp
Expand Up @@ -281,6 +281,26 @@ ZoneAlgorithm::ZoneAlgorithm(const char *PassName, Scop *S, LoopInfo *LI)

/// Check if all stores in @p Stmt store the very same value.
///
/// This covers a special situation occurring in Polybench's
/// covariance/correlation (which is typical for algorithms that cover symmetric
/// matrices):
///
/// for (int i = 0; i < n; i += 1)
/// for (int j = 0; j <= i; j += 1) {
/// double x = ...;
/// C[i][j] = x;
/// C[j][i] = x;
/// }
///
/// For i == j, the same value is written twice to the same element.Double
/// writes to the same element are not allowed in DeLICM because its algorithm
/// does not see which of the writes is effective.But if its the same value
/// anyway, it doesn't matter.
///
/// LLVM passes, however, cannot simplify this because the write is necessary
/// for i != j (unless it would add a condition for one of the writes to occur
/// only if i != j).
///
/// TODO: In the future we may want to extent this to make the checks
/// specific to different memory locations.
static bool onlySameValueWrites(ScopStmt *Stmt) {
Expand Down

0 comments on commit 8756b3f

Please sign in to comment.