From 45a62cf49781a3199b46d2a8fbafc47eee64b4d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Mon, 25 Jul 2011 11:11:24 -0400 Subject: [PATCH] Update for llvm api change. --- src/comp/lib/llvm.rs | 7 ------- src/rustllvm/Passes.cpp | 3 ++- src/rustllvm/RustWrapper.cpp | 5 +++-- src/rustllvm/rustllvm.def.in | 2 -- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs index 62ad92ac380f7..4def2d116bc1b 100644 --- a/src/comp/lib/llvm.rs +++ b/src/comp/lib/llvm.rs @@ -571,7 +571,6 @@ native "cdecl" mod llvm = "rustllvm" { fn LLVMBuildInvoke(B: BuilderRef, Fn: ValueRef, Args: *ValueRef, NumArgs: uint, Then: BasicBlockRef, Catch: BasicBlockRef, Name: sbuf) -> ValueRef; - fn LLVMBuildUnwind(B: BuilderRef) -> ValueRef; fn LLVMBuildUnreachable(B: BuilderRef) -> ValueRef; /* Add a case to the switch instruction */ @@ -949,12 +948,6 @@ obj builder(B: BuilderRef, terminated: @mutable bool, Then, Catch, str::buf("")); } - fn Unwind() -> ValueRef { - assert (!*terminated); - *terminated = true; - ret llvm::LLVMBuildUnwind(B); - } - fn Unreachable() -> ValueRef { assert (!*terminated); *terminated = true; diff --git a/src/rustllvm/Passes.cpp b/src/rustllvm/Passes.cpp index dcc549b511f6b..4aaffe89eea9f 100644 --- a/src/rustllvm/Passes.cpp +++ b/src/rustllvm/Passes.cpp @@ -1,5 +1,6 @@ #include "llvm/Analysis/Passes.h" -#include "llvm/Support/PassManagerBuilder.h" +#include "llvm/Transforms/IPO/PassManagerBuilder.h" +#include "llvm/Transforms/IPO.h" #include "llvm/PassManager.h" #include "llvm-c/Core.h" #include diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 819b3e0f08029..d953295803b9d 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -79,15 +79,16 @@ extern "C" void LLVMRustWriteOutputFile(LLVMPassManagerRef PMR, llvm::NoFramePointerElim = true; InitializeAllTargets(); + InitializeAllTargetMCs(); InitializeAllAsmPrinters(); InitializeAllAsmParsers(); - TargetMachine::setRelocationModel(Reloc::PIC_); std::string Err; const Target *TheTarget = TargetRegistry::lookupTarget(triple, Err); std::string FeaturesStr; std::string Trip(triple); std::string CPUStr = llvm::sys::getHostCPUName(); - TargetMachine *Target = TheTarget->createTargetMachine(Trip, CPUStr, FeaturesStr); + TargetMachine *Target = + TheTarget->createTargetMachine(Trip, CPUStr, FeaturesStr, Reloc::PIC_); bool NoVerify = false; PassManager *PM = unwrap(PMR); std::string ErrorInfo; diff --git a/src/rustllvm/rustllvm.def.in b/src/rustllvm/rustllvm.def.in index 19e58eec5036f..545fd7f6f74ff 100644 --- a/src/rustllvm/rustllvm.def.in +++ b/src/rustllvm/rustllvm.def.in @@ -165,7 +165,6 @@ LLVMBuildUDiv LLVMBuildUIToFP LLVMBuildURem LLVMBuildUnreachable -LLVMBuildUnwind LLVMBuildVAArg LLVMBuildXor LLVMBuildZExt @@ -429,7 +428,6 @@ LLVMInt8TypeInContext LLVMIntPtrType LLVMIntType LLVMIntTypeInContext -LLVMInvalidateStructLayout LLVMIsAAllocaInst LLVMIsAArgument LLVMIsABasicBlock