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
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. ppcg_option.c is
deleted because we never call any functions in it.
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
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.
rename ppcg_scop_from_pet_scop to ppcg_scop_from_polly_scop
Add ppcg_scop_from_polly_scop to ppcg.h

Make the function an interface that can be called externally.
Remove static of some ppcg functions

Make the following functions as an external interface.
 - ppcg_scop_free
 - tag_access
Add ppcg_print_guarded to get guard ast_node of the host node.
Update extract_stmts function to avoid iterating all the pet_stmts

extract_stmts function is used to collect all the gpu_stmts. In ppcg,
every pet_stmt is iterated to look for gpu_stmt and especially those
access pet_expr (statements). In polly, we already have access info in
MemoryAccess. Thus, use MemoryAccess rather than pet_expr to
reimplemented extract_stmts function.
GPURuntime library update

 + Duplicate drvapi_error_string.h from cuda sdk to give much more
   readable error messages.
 + Add allocateMemoryForDevice function.
 - Fix the comments which are used to demonstrate usage of library.