From 3fbc60f7d4830170ae703d727e48a648b75c3147 Mon Sep 17 00:00:00 2001 From: Zion Nimchuk Date: Sun, 2 Jul 2017 10:44:26 -0700 Subject: [PATCH] Initial LLVM 5 port --- Utilities/JIT.cpp | 4 ++-- rpcs3/Emu/Cell/PPUTranslator.cpp | 2 +- rpcs3/Emu/Cell/PPUTranslator.h | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Utilities/JIT.cpp b/Utilities/JIT.cpp index 7e3bd23f5b..09e7b82a82 100644 --- a/Utilities/JIT.cpp +++ b/Utilities/JIT.cpp @@ -266,11 +266,11 @@ struct MemoryManager : llvm::RTDyldMemoryManager return RTDyldMemoryManager::registerEHFrames(addr, load_addr, size); } - virtual void deregisterEHFrames(u8* addr, u64 load_addr, std::size_t size) override + virtual void deregisterEHFrames() override { LOG_ERROR(GENERAL, "deregisterEHFrames() called"); // Not expected - return RTDyldMemoryManager::deregisterEHFrames(addr, load_addr, size); + return RTDyldMemoryManager::deregisterEHFrames(); } }; diff --git a/rpcs3/Emu/Cell/PPUTranslator.cpp b/rpcs3/Emu/Cell/PPUTranslator.cpp index cd4cd733ff..4ecacda8f6 100644 --- a/rpcs3/Emu/Cell/PPUTranslator.cpp +++ b/rpcs3/Emu/Cell/PPUTranslator.cpp @@ -16,7 +16,7 @@ PPUTranslator::PPUTranslator(LLVMContext& context, Module* module, const ppu_mod , m_module(module) , m_is_be(false) , m_info(info) - , m_pure_attr(AttributeSet::get(m_context, AttributeSet::FunctionIndex, {Attribute::NoUnwind, Attribute::ReadNone})) + , m_pure_attr(AttributeList::get(m_context,AttributeList::FunctionIndex, AttrBuilder().addAttribute(Attribute::NoUnwind).addAttribute(Attribute::ReadNone))) { // There is no weak linkage on JIT, so let's create variables with different names for each module part const u32 gsuffix = m_info.name.empty() ? info.funcs[0].addr : info.funcs[0].addr - m_info.segs[0].addr; diff --git a/rpcs3/Emu/Cell/PPUTranslator.h b/rpcs3/Emu/Cell/PPUTranslator.h index cefabf306e..d8ff09ec99 100644 --- a/rpcs3/Emu/Cell/PPUTranslator.h +++ b/rpcs3/Emu/Cell/PPUTranslator.h @@ -120,7 +120,7 @@ class PPUTranslator final //: public CPUTranslator std::map m_relocs; // Attributes for function calls which are "pure" and may be optimized away if their results are unused - const llvm::AttributeSet m_pure_attr; + const llvm::AttributeList m_pure_attr; // IR builder llvm::IRBuilder<>* m_ir; @@ -404,7 +404,7 @@ public: // Call a function with attribute list template - llvm::CallInst* Call(llvm::Type* ret, llvm::AttributeSet attr, llvm::StringRef name, Args... args) + llvm::CallInst* Call(llvm::Type* ret, llvm::AttributeList attr, llvm::StringRef name, Args... args) { // Call the function return m_ir->CreateCall(m_module->getOrInsertFunction(name, llvm::FunctionType::get(ret, {args->getType()...}, false), attr), {args...}); @@ -414,7 +414,7 @@ public: template llvm::CallInst* Call(llvm::Type* ret, llvm::StringRef name, Args... args) { - return Call(ret, llvm::AttributeSet{}, name, args...); + return Call(ret, llvm::AttributeList{}, name, args...); } // Handle compilation errors