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
Add GPGPU codegen related files from ppcg into polly

Not made any changes at the moment.
Update pet.h with the up-to-date one from ppcg
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"
Comment out main function
Update makefile to include GPGPU codegen files into build

All the added GPGPU codegen files compiled successfully.
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.
 - ppcg_print_guard: print the host end codes, e.g. the outermost
   non-parallel loops and if guards, not implemented yet.
 - gen_free: do the cleanup staff for gpu_gen struct.

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

Add new declaration of generate_gpu to gpu.h.
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. ppcg_option.c is
deleted because we never call any functions in it.
Do not check format of the GPGPU codegen sources.
Replace use of pet_stmt with polly::ScopStmt
Add an isl_id to MemoryAccess class.

This ref_id is used to represent an id of an access.
Replace pet_scop with polly::Scop

Some functions from pet/scop.c file is copied into ppcg.cpp and
modified with input of a polly::Scop pointer.
Add ppcg_scop_from_pet_scop to ppcg.h

Make the function an interface that can be called externally.
Remove static of ppcg_scop_free function

Make it an external interface.