Adaptions for LLVM 3.3 / SPIR
authorDag Lem <dag@nimrod.no>
Mon, 3 Jun 2013 09:09:56 +0000 (11:09 +0200)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Wed, 5 Jun 2013 07:30:05 +0000 (15:30 +0800)
commit9089b52fbe2361b4939e38d2959c4b6de1e0d913
tree51fcfd96279611f08a3c4ca1a07e654960595201
parent925625101e4a7a25120d2247932ac2df4b3d6d35
Adaptions for LLVM 3.3 / SPIR

Handle the fact that several include files are moved from llvm/ to
llvm/IR/ in LLVM 3.3.

"__attribute__((always_inline)) inline" no longer works as intended,
and is replaced by "inline __attribute__((always_inline))".

For LLVM 3.3, the target is changed from "nvptx" to "spir", and
built-in address space qualifiers are used. For now, the built-in
types image2d_t, image3d_t, sampler_t, and event_t are overridden by
defines.

Signed-off-by: Dag Lem <dag@nimrod.no>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Tested-by: Xing, Homer <homer.xing@intel.com>
Tested-by: Yang, Rong R <rong.r.yang@intel.com>
15 files changed:
backend/src/backend/program.cpp
backend/src/ir/unit.cpp
backend/src/ir/unit.hpp
backend/src/llvm/llvm_gen_backend.cpp
backend/src/llvm/llvm_passes.cpp
backend/src/llvm/llvm_scalarize.cpp
backend/src/llvm/llvm_to_gen.cpp
backend/src/ocl_stdlib.h
kernels/compiler_clod.cl
kernels/compiler_julia.cl
kernels/compiler_julia_no_break.cl
kernels/compiler_mandelbrot.cl
kernels/compiler_mandelbrot_alternate.cl
kernels/compiler_menger_sponge_no_shadow.cl
kernels/compiler_ribbon.cl