backend/src/llvm/llvm_unroll.cpp:209:22: error: no member named 'markAsRemoved' in 'llvm::LoopInfo' loopInfo.markAsRemoved(parentL); ~~~~~~~~ ^ backend/src/llvm/llvm_to_gen.cpp:325:43: error: reference to type 'std::unique_ptr' could not bind to an rvalue of type 'void (*)(const llvm::DiagnosticInfo &, void *)' mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc); ^~~~~~~~~~~~~~~~~~~~~ /usr/local/llvm60/include/llvm/IR/LLVMContext.h:213:66: note: passing argument to parameter 'DH' here void setDiagnosticHandler(std::unique_ptr &&DH, ^ --- backend/src/llvm/llvm_to_gen.cpp.orig 2017-10-24 06:04:48 UTC +++ backend/src/llvm/llvm_to_gen.cpp @@ -322,7 +322,11 @@ namespace gbe DataLayout DL(&mod); gbeDiagnosticContext dc; +#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 60 + mod.getContext().setDiagnosticHandlerCallBack(&gbeDiagnosticHandler,&dc); +#else mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc); +#endif #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37 mod.setDataLayout(DL); --- backend/src/llvm/llvm_unroll.cpp.orig 2017-10-24 06:04:48 UTC +++ backend/src/llvm/llvm_unroll.cpp @@ -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 * 10 + LLVM_VERSION_MINOR >= 60 + loopInfo.erase(parentL); +#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38 loopInfo.markAsRemoved(parentL); #else LPM.deleteLoopFromQueue(parentL);