llvm-project/polly/lib/CodeGen
Philipp Schaad 2f3073b5cb [Polly][GPGPU] Added SPIR Code Generation and Corresponding Runtime Support for Intel
Summary:
Added SPIR Code Generation to the PPCG Code Generator. This can be invoked using
the polly-gpu-arch flag value 'spir32' or 'spir64' for 32 and 64 bit code respectively.
In addition to that, runtime support has been added to execute said SPIR code on Intel
GPU's, where the system is equipped with Intel's open source driver Beignet (development
version). This requires the cmake flag 'USE_INTEL_OCL' to be turned on, and the polly-gpu-runtime
flag value to be 'libopencl'.
The transformation of LLVM IR to SPIR is currently quite a hack, consisting in part of regex
string transformations.
Has been tested (working) with Polybench 3.2 on an Intel i7-5500U (integrated graphics chip).

Reviewers: bollu, grosser, Meinersbur, singam-sanjay

Reviewed By: grosser, singam-sanjay

Subscribers: pollydev, nemanjai, mgorny, Anastasia, kbarton

Tags: #polly

Differential Revision: https://reviews.llvm.org/D35185

llvm-svn: 308751
2017-07-21 16:11:06 +00:00
..
BlockGenerators.cpp Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
CodeGeneration.cpp [ScopInfo] Print instructions in dump(). 2017-07-21 15:35:53 +00:00
CodegenCleanup.cpp Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
IRBuilder.cpp [CodeGen] Emit aliasing metadata for new arrays. 2017-06-19 10:19:29 +00:00
IslAst.cpp [IslAst] Print memory accesses in AST dump 2017-07-10 20:13:06 +00:00
IslExprBuilder.cpp Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
IslNodeBuilder.cpp [IslNodeBuilder] Relax complexity check in invariant loads and run it early 2017-07-20 19:55:19 +00:00
LoopGenerators.cpp Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
PPCGCodeGeneration.cpp [Polly][GPGPU] Added SPIR Code Generation and Corresponding Runtime Support for Intel 2017-07-21 16:11:06 +00:00
PerfMonitor.cpp Fix a lot of typos. NFC. 2017-06-08 12:06:15 +00:00
RuntimeDebugBuilder.cpp Update for alloca construction changes 2017-04-11 00:12:58 +00:00
Utils.cpp [PPCGCodeGeneration] Fix runtime check adjustments since they make assumptions about BB layout. 2017-07-14 10:00:25 +00:00