From 75c152599a7c1739e6dadcdb9b377acf7e44d9cf Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Wed, 30 Jan 2019 12:42:34 +0000 Subject: [PATCH] lang/beignet: unbreak with llvm80 backend/src/llvm/llvm_gen_backend.cpp:3076:5: error: unknown type name 'TerminatorInst' TerminatorInst *term = bb->getTerminator(); ^ backend/src/llvm/llvm_gen_backend.cpp:3083:5: error: unknown type name 'TerminatorInst' TerminatorInst *term = bb->getTerminator(); ^ Approved by: ? --- lang/beignet/files/patch-llvm8 | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lang/beignet/files/patch-llvm8 diff --git a/lang/beignet/files/patch-llvm8 b/lang/beignet/files/patch-llvm8 new file mode 100644 index 000000000000..f72d6e0db6d1 --- /dev/null +++ b/lang/beignet/files/patch-llvm8 @@ -0,0 +1,51 @@ +Regressed by https://github.com/llvm/llvm-project/commit/721d95713a9e + +unable to load /usr/local/lib/beignet//libgbeinterp.so which is part of the driver, please check! +ld-elf.so.1: /usr/local/lib/beignet//libgbeinterp.so: Undefined symbol "_ZN4llvm24DisableABIBreakingChecksE" + +Regressed by https://github.com/llvm/llvm-project/commit/4a2d58e16acc + +backend/src/llvm/llvm_gen_backend.cpp:3076:5: error: + unknown type name 'TerminatorInst' + TerminatorInst *term = bb->getTerminator(); + ^ +backend/src/llvm/llvm_gen_backend.cpp:3083:5: error: + unknown type name 'TerminatorInst' + TerminatorInst *term = bb->getTerminator(); + ^ + +--- backend/src/CMakeLists.txt.orig 2017-09-22 08:05:22 UTC ++++ backend/src/CMakeLists.txt +@@ -168,6 +168,7 @@ add_dependencies(gbe beignet_bitcode) + endif (NOT (USE_STANDALONE_GBE_COMPILER STREQUAL "true")) + + add_library(gbeinterp SHARED gbe_bin_interpreter.cpp) ++target_link_libraries(gbeinterp ${LLVM_MODULE_LIBS}) + + if (LLVM_VERSION_NODOT VERSION_EQUAL 34) + find_library(TERMINFO NAMES tinfo ncurses) +--- backend/src/llvm/llvm_gen_backend.cpp.orig 2017-10-24 06:04:48 UTC ++++ backend/src/llvm/llvm_gen_backend.cpp +@@ -3073,14 +3073,22 @@ namespace gbe + + + static unsigned getChildNo(BasicBlock *bb) { ++#if LLVM_VERSION_MAJOR < 8 + TerminatorInst *term = bb->getTerminator(); ++#else ++ Instruction *term = bb->getTerminator(); ++#endif + return term->getNumSuccessors(); + } + + // return NULL if index out-range of children number + static BasicBlock *getChildPossible(BasicBlock *bb, unsigned index) { + ++#if LLVM_VERSION_MAJOR < 8 + TerminatorInst *term = bb->getTerminator(); ++#else ++ Instruction *term = bb->getTerminator(); ++#endif + unsigned childNo = term->getNumSuccessors(); + BasicBlock *child = NULL; + if(index < childNo) {