Use range-based for loops

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210170 91177308-0d34-0410-b5e6-96231b3b80d8
www: Polly can be built without any GPLed software

Thanks to Sebastian Pop and David Peixotto.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210176 91177308-0d34-0410-b5e6-96231b3b80d8
Adjust multidim test cases to not access out-of-bound memory

We do this currently only for test cases where we have integer offsets that
clearly access array dimensions out-of-bound.

-;   for (long i = 0; i < n; i++)
-;     for (long j = 0; j < m; j++)
-;       for (long k = 0; k < o; k++)
+;   for (long i = 0; i < n - 3; i++)
+;     for (long j = 4; j < m; j++)
+;       for (long k = 0; k < o - 7; k++)
 ;         A[i+3][j-4][k+7] = 1.0;

This will be helpful if we later want to simplify the access functions under the
assumption that they do not access memory out of bounds.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210179 91177308-0d34-0410-b5e6-96231b3b80d8
Adjust another test case to not access out of bounds

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210208 91177308-0d34-0410-b5e6-96231b3b80d8
Test delinearization of 2D diagonal matrix

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210538 91177308-0d34-0410-b5e6-96231b3b80d8
www: Fix grammar.

Reported-by: Jules Gagnon-Marchand <jules_gagnonm@hotmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210576 91177308-0d34-0410-b5e6-96231b3b80d8
Move getDebugLocation to ScopDetectionDiagnostic

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210752 91177308-0d34-0410-b5e6-96231b3b80d8
Check for an empty error log.

Fixes #19976.

The error log does not contain an error, in case we reject a candidate
without generating a diagnostic message by using invalid<>(...). This is
the case for the top-level region of a function.

The patch comes without a test-case because adding a useful one requires
additional code just for triggering it. Before the patch it would only trigger,
if we try to print the CFG with Scop error annotations.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210753 91177308-0d34-0410-b5e6-96231b3b80d8
Fix typo

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210754 91177308-0d34-0410-b5e6-96231b3b80d8
Do not use namespace polly inside a header.

In general this fixes ambiguity that can arise from using
a different namespace that declares the same symbols as
we do.

One example inside llvm would be:
  createIndVarSimplifyPass(..);

Which can be found in:
  llvm/Transforms/Scalar.h
and
  polly/LinkAllPasses.h

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210755 91177308-0d34-0410-b5e6-96231b3b80d8
Try to fix the polly build.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210811 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the polly build.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210847 91177308-0d34-0410-b5e6-96231b3b80d8
[Refactor] Simplify dependency map dump

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210926 91177308-0d34-0410-b5e6-96231b3b80d8
[Refactor] C++11 Memory access iterators in SCoP stmts

+ Added const iterator version
+ Changed name to begin/end to allow range loops
+ Changed call sites to range loops
+ Changed typename to (const_)iterator


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@210927 91177308-0d34-0410-b5e6-96231b3b80d8
Subject: [PATCH-v5] Detect and mark reduction like statements

+ Flag to indicate reduction like statements
+ Command line option to (dis)allow multiplicative reduction opcodes
+ Two simple positive test cases, one fp test case w and w/o fast math
+ One "negative" test case (only reduction like but no reduction)


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211114 91177308-0d34-0410-b5e6-96231b3b80d8
Missing reduction detection test cases


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211235 91177308-0d34-0410-b5e6-96231b3b80d8
Fix build

See r210927 and r210847


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211278 91177308-0d34-0410-b5e6-96231b3b80d8
Update for ScopStmt iterator name change in LLVM r210927

Contributed-by: Yabin Hu <yabin.hwu@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211280 91177308-0d34-0410-b5e6-96231b3b80d8
Model statement wise reduction dependences

+ Collect reduction dependences
+ Introduced TYPE_RED in Dependences.h which can be used to obtain the
  reduction dependences
+ Used TYPE_RED to prevent parallelization while we do not have a privatizing
  code generation
+ Relax the dependences for non-parallel code generation
+ Add privatization dependences to ensure correctness
+ 12 Test cases to check for reduction and privatization dependences



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211369 91177308-0d34-0410-b5e6-96231b3b80d8
Reduction like is now a memory access property

- Remove the statement reduction like property
+ Add the reduction like property to memory accesses


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211372 91177308-0d34-0410-b5e6-96231b3b80d8