GPGPU: Create host control flow
authorTobias Grosser <tobias@grosser.es>
Mon, 18 Jul 2016 11:56:39 +0000 (11:56 +0000)
committerTobias Grosser <tobias@grosser.es>
Mon, 18 Jul 2016 11:56:39 +0000 (11:56 +0000)
commit38fc0aed08853fbad0aa55764dd01def682550b6
tree90c54f8b0a6f7c469d3180a8e39075431413c99c
parent52bd8012bd0f440e21ddec0c1d6ed89605adbb3b
GPGPU: Create host control flow

Create LLVM-IR for all host-side control flow of a given GPU AST. We implement
this by introducing a new GPUNodeBuilder class derived from IslNodeBuilder.  The
IslNodeBuilder will take care of generating all general-purpose ast nodes, but
we provide our own createUser implementation to handle the different GPU
specific user statements. For now, we just skip any user statement and only
generate a host-code sceleton, but in subsequent commits we will add handling of
normal ScopStmt's performing computations, kernel calls, as well as host-device
data transfers. We will also introduce run-time check generation and LICM in
subsequent commits.

llvm-svn: 275783
polly/lib/CodeGen/PPCGCodeGeneration.cpp
polly/test/GPGPU/double-parallel-loop.ll
polly/test/GPGPU/host-control-flow.ll [new file with mode: 0644]