[Beignet] [PATCH 0/5] Beignet LLVM 3.9 support patchset

Xiuli Pan xiuli.pan at intel.com
Thu Aug 4 06:34:01 UTC 2016


From: Pan Xiuli <xiuli.pan at intel.com>

This patch set is for Beignet build with LLVM 3.9
LLVM 3.9 has lots of changes: 
1. API getGlobalContext was removed, add GBEGetLLVMContext instead
2. API LLVMLinkModules was removed, use LLVMLinkModules2 instead.
3. LLVMLinkModules2 now will delete src module for default, clone all
src module and kernel names.
4. Few LLVM pass refine, change include headers and creadpass API.
5. clang refine image type name, change llvminfo check for image.
6. clang change kernel arg info metadata and some other metadata to
function metadata, refine metedata query function logic.
7. clang default define most cl_khr_* macro, need to undef them first.
8. SPIR mangle was changed by a fix patch for Itanium mangle, now most
SPIR can not be recognized by LLVM 3.9.
9. Image types have read_only and write_only difference, read_only trued
from access qualifier into type.
10. Old SPIR files will not be recognized by clang 3.9, all test with spir
files now is broken.

Pan Xiuli (5):
  Runtime: Fix accesss quilifer for internal kernels
  Libocl: Image should have access qualifier
  Utest: read/write_only qualifier should only used with image.
  Utest: Remove load spir test
  Backend: Add support for LLVM 3.9 release

 backend/src/backend/gen_program.cpp                |  13 +-
 backend/src/backend/program.cpp                    |  10 +
 backend/src/ir/function.hpp                        |  22 ++
 backend/src/libocl/include/ocl.h                   |  74 +++++
 backend/src/libocl/include/ocl_image.h             | 331 ++++++++++++---------
 backend/src/libocl/src/ocl_image.cl                | 229 ++++++++++----
 backend/src/libocl/tmpl/ocl_defines.tmpl.h         |  11 -
 backend/src/llvm/llvm_bitcode_link.cpp             |  26 +-
 backend/src/llvm/llvm_gen_backend.cpp              | 124 +++++++-
 backend/src/llvm/llvm_includes.hpp                 |   5 +
 backend/src/llvm/llvm_passes.cpp                   |   6 +-
 backend/src/llvm/llvm_to_gen.cpp                   |  19 +-
 backend/src/llvm/llvm_to_gen.hpp                   |   6 +
 kernels/test_get_arg_info.cl                       |   2 +-
 src/kernels/cl_internal_copy_buffer_to_image_2d.cl |   2 +-
 src/kernels/cl_internal_copy_buffer_to_image_3d.cl |   2 +-
 utests/CMakeLists.txt                              |   1 -
 17 files changed, 658 insertions(+), 225 deletions(-)

-- 
2.7.4



More information about the Beignet mailing list