[Refactor] Use nicer print callback function in IslAst


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214447 91177308-0d34-0410-b5e6-96231b3b80d8
[Refactor] Remove unecessary check and function

  + Perform the parallelism check on the innermost loop only once.
  + Inline the markOpenmpParallel function.
  + Rename all IslAstUserPayload * into Payload to make it consistent.



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214448 91177308-0d34-0410-b5e6-96231b3b80d8
Change the printing of reduction types

  We use the C operator representation when applicable.

  + Update all the test cases accordingly.



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214486 91177308-0d34-0410-b5e6-96231b3b80d8
Change the semantics of is*Parallel

  The functions isParallel, isInnermostParallel and IsOutermostParallel in
  IslAstInfo will now return true even in the presence of broken reductions.
  To compensate for this change the negated result of isReductionParallel can
  be used.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214488 91177308-0d34-0410-b5e6-96231b3b80d8
Annotate the IslAst with broken reductions

  + Split all reduction dependences and map them to the causing memory accesses.
  + Print the types & base addresses of broken reductions for each "reduction
    parallel" marked loop (OpenMP style).
  + 3 test cases to show how reductions are now represented in the isl ast.

  The mapping "(ast) loops -> broken reductions" is also needed to find the
  memory accesses we need to privatize in a loop.



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214489 91177308-0d34-0410-b5e6-96231b3b80d8
[Typo] Added dot at the end of a sentence.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214490 91177308-0d34-0410-b5e6-96231b3b80d8
[Fix] Annotate the IslAst with broken reductions (Missing files)

  + test cases of r214489.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214491 91177308-0d34-0410-b5e6-96231b3b80d8
[Format] Remove blank line in Dependences.h


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214492 91177308-0d34-0410-b5e6-96231b3b80d8
No need to run -mem2reg twice

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214632 91177308-0d34-0410-b5e6-96231b3b80d8
Mark a GPGPU test case as XFAIL

This area of code is currently not very much tested. It will hopefully be
superseeded by Yabin's GSoC project.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214633 91177308-0d34-0410-b5e6-96231b3b80d8
Update the jscop tests and port them to isl codegen.

  The updated tests use a different context than the old ones did.
  Other than that only their path and the code generation we use
  changed.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214657 91177308-0d34-0410-b5e6-96231b3b80d8
Allow the IslExprBuilder to generate access operations


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214658 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the modifiable access creation

  + Remove the class IslGenerator which duplicates the functionality of
    IslExprBuilder.
  + Use the IslExprBuilder to create code for memory access relations.
    + Also handle array types during access creation.
  + Enable scev codegen for one of the transformed memory access tests,
    thus access creation without canonical induction variables available.
  + Update one test case to the new output.



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214659 91177308-0d34-0410-b5e6-96231b3b80d8
Do allow negative offsets in the outermost array dimension

There is no needed for neither 1-dimensional nor higher dimensional arrays to
require positive offsets in the outermost array dimension.

We originally introduced this assumption with the support for delinearizing
multi-dimensional arrays.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@214665 91177308-0d34-0410-b5e6-96231b3b80d8
Make used analysis passes explicit

  Use the explicit analysis if possible, only for splitBlock we will continue
  to use the Pass * argument. This change allows us to remove the getAnalysis
  calls from the code generation.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@215121 91177308-0d34-0410-b5e6-96231b3b80d8
[Fix] Broken build after r215121


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@215183 91177308-0d34-0410-b5e6-96231b3b80d8
Add myself to the credits


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@215307 91177308-0d34-0410-b5e6-96231b3b80d8
Add an arcconfig for Polly

Differential Revision: http://reviews.llvm.org/D4840


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@215308 91177308-0d34-0410-b5e6-96231b3b80d8
[Refactor] Remove const keyword from access instruction



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