diff -uprb Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_to_gen.cpp Beignet-1.3.2-Source/backend/src/llvm/llvm_to_gen.cpp --- Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_to_gen.cpp 2017-10-24 09:04:48.000000000 +0300 +++ Beignet-1.3.2-Source/backend/src/llvm/llvm_to_gen.cpp 2018-03-16 16:08:54.669963824 +0200 @@ -322,7 +322,11 @@ namespace gbe DataLayout DL(&mod); gbeDiagnosticContext dc; +#if LLVM_VERSION_MAJOR >= 6 + mod.getContext().setDiagnosticHandlerCallBack(&gbeDiagnosticHandler,&dc); +#else mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc); +#endif #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37 mod.setDataLayout(DL); diff -uprb Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_unroll.cpp Beignet-1.3.2-Source/backend/src/llvm/llvm_unroll.cpp --- Beignet-1.3.2-Source.orig/backend/src/llvm/llvm_unroll.cpp 2017-10-24 09:04:48.000000000 +0300 +++ Beignet-1.3.2-Source/backend/src/llvm/llvm_unroll.cpp 2018-03-16 16:09:47.736403557 +0200 @@ -205,7 +205,9 @@ namespace gbe { if (parentTripCount != 0 && currTripCount * parentTripCount > 32) { //Don't change the unrollID if doesn't force unroll. //setUnrollID(parentL, false); -#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38 +#if LLVM_VERSION_MAJOR >= 6 + loopInfo.erase(parentL); +#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38 loopInfo.markAsRemoved(parentL); #else LPM.deleteLoopFromQueue(parentL); Only in Beignet-1.3.2-Source: build