[Fix] Collect array and scopstmt info before collecting access
Combine may_write, tagged_may_write with must_write and tagged_must_write

In ppcg, may_write means all the writes (polly may_writes + must_writes).
Update comment
Comment unused variable declaration
Set the same access ref_id to gpu_stmt and MemoryAccess
Add getHostGuard
Add createForGPGPU function to generate the LLVM IR
Fix bug: move up isl_ast_expr_free(StmtExpr)

Include the free statement for if and if-not GPU_CODEGEN defined
Add #ifdef GPU_CODEGEN guard to changes of NodeBuilder
Fix a typo and update format
Add setGPUKernel function to set the current kernel
Add createKernelDomain, createKernelCopy and createKernelSync
Get the current llvm::Value of grid ids and block ids
Remove setGPUKernel function.

Add a struct ppcg_kernel * parameter directly to startGeneraion method.
Set correct Value for GPU ids before we call createUser

Fill in the IDTOValue with Values of block ids and thread ids and their
corresponding isl_ids.
Add getGridSize function in IslNodeBuilder
Add missing {} to case statement
Use malloced array rather than SmallVector to store isl_ids
Implement polly_stmt_build_ast_exprs
Add GMap member to store all the base addresses in NodeBuilder