Updated to isl 2c19ecd444095d6f560349018f68993bc0e03691

  Changed test cases and fixed warnings.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218043 91177308-0d34-0410-b5e6-96231b3b80d8
Allow the IslExprBuilder to compare pointers


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218044 91177308-0d34-0410-b5e6-96231b3b80d8
Allow the IslExprBuilder to build address of expressions


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218045 91177308-0d34-0410-b5e6-96231b3b80d8
[RTC] Runtime Alias Checks for the ISL backend

  This change will build all alias groups (minimal/maximal accesses
  to possible aliasing base pointers) we have to check before
  we can assume an alias free environment. It will also use these
  to create Runtime Alias Checks (RTC) in the ISL code generation
  backend, thus allow us to optimize SCoPs despite possibly aliasing
  pointers when this backend is used.

  This feature will be enabled for the isl code generator, e.g.,
  --polly-code-generator=isl, but disabled for:
    - The cloog code generator (still the default).
    - The case delinearization is enabled.
    - The case non-affine accesses are allowed.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218046 91177308-0d34-0410-b5e6-96231b3b80d8
[RTC] Runtime Alias Checks for the ISL backend (missing tests)

  Test files missing in r218046.



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218047 91177308-0d34-0410-b5e6-96231b3b80d8
Report possible aliasing deterministically

This commit drops a call to std::sort, which sorted the base pointers that
possibly alias according to the address at which their corresponding llvm::Value
was allocated. There does not seem to be any good reason, why those pointers
should be (re)sorted and this only makes the output indeterministic.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218052 91177308-0d34-0410-b5e6-96231b3b80d8
[Fix] Allow pointer types as access elements and compare them correctly

  This fixes two problems which are usualy caused together:
    1) The elements of an isl AST access expression could be pointers
       not only integers, floats and vectores thereof.
    2) The runtime alias checks need to compare pointers but if they
       are of a different type we need to cast them into a "max" type
       similar to the non pointer case.



git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218113 91177308-0d34-0410-b5e6-96231b3b80d8
[www] Unbreak the newsfeed from polyhedral.info

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218237 91177308-0d34-0410-b5e6-96231b3b80d8
[www] Update formatting of news feed

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218238 91177308-0d34-0410-b5e6-96231b3b80d8
We do not support alias checks for base pointers defined inside the SCoP

The run-time alias check places code that involves the base pointer at the
beginning of the SCoP. This breaks if the base pointer is defined inside the
SCoP. Hence, we can only create a run-time alias check if we are sure the base
pointer is not an instruction defined inside the scop. If it is we refuse to
handle the SCoP.

This commit should unbreak most of our current LNT failures.

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

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218412 91177308-0d34-0410-b5e6-96231b3b80d8
[RTC] Bail if too many parameters are involved in a RTC access.

  If too many parameters are involved in accesses used to create RTCs
  we might end up with enormous compile times and RTC expressions.
  The reason is that the lexmin/lexmax is dependent on all these
  parameters and isl might need to create a case for every "ordering"
  of them (e.g., p0 <= p1 <= p2, p1 <= p0 <= p2, ...).

  The exact number of parameters allowed in accesses is defined by the
  command line option -polly-rtc-max-parameters=XXX and set by default
  to 8.

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


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@218566 91177308-0d34-0410-b5e6-96231b3b80d8
Update format and fix wrong file name
Add GPGPU codegen related files from ppcg into polly

Not made any changes at the moment.
Remove and comment unused header includes

- pet.h has been included in ppcg.h thus no need to include it once
  again.
- Change header include from <pet.h> to "pet.h"
Remove useless ppcg functions to make compiling success
Rename *.c to *.cpp

So that we can use polly's data structure in ppcg. In the next step,
pet_stmt will be replaced with polly::ScopStmt. Other than renaming all
c files into cpp files, there are two main kinds of changes in the code:
 - We rename all the varialbes named 'private', because 'private' is
   used as keyword in C++.
 - We enforce pointer type casts for 'void *' to avoid build errors that
   exist in C++ but not in C.
Update makefile to include GPGPU codegen files into build

All the added GPGPU codegen files compiled successfully.
Do not check format of the GPGPU codegen sources.
Remove use of isl_printer parameter in "generate" function

The original generate function is divided into 2 parts:
 - the new generate function: store the generated ast_node host tree
   in gen and return void.

Two functions call or use "generate" as callback are commented out.
 - generate_wrap
 - generate_gpu

Add new declaration of generate_gpu to gpu.h.
Replace use of pet_stmt with polly::ScopStmt