From acc9efa5280a41cc040370e0b55a752baeb8b551 Mon Sep 17 00:00:00 2001 From: Jake Goulding Date: Sat, 24 Sep 2016 12:37:04 -0400 Subject: [PATCH] [LLVM 4.0] Update AlwaysInliner pass header and constructor --- src/rustllvm/PassWrapper.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index a5ba1d219c369..70f7ee3004dd4 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -22,6 +22,9 @@ #include "llvm/Target/TargetSubtargetInfo.h" #include "llvm/Transforms/IPO/PassManagerBuilder.h" +#if LLVM_VERSION_GE(4, 0) +#include "llvm/Transforms/IPO/AlwaysInliner.h" +#endif #include "llvm-c/Transforms/PassManagerBuilder.h" @@ -539,7 +542,11 @@ LLVMRustPrintPasses() { extern "C" void LLVMRustAddAlwaysInlinePass(LLVMPassManagerBuilderRef PMB, bool AddLifetimes) { +#if LLVM_VERSION_GE(4, 0) + unwrap(PMB)->Inliner = llvm::createAlwaysInlinerLegacyPass(AddLifetimes); +#else unwrap(PMB)->Inliner = createAlwaysInlinerPass(AddLifetimes); +#endif } extern "C" void