diff --git a/Utilities/JITLLVM.cpp b/Utilities/JITLLVM.cpp index 2b82d57d54..166ee7cec2 100644 --- a/Utilities/JITLLVM.cpp +++ b/Utilities/JITLLVM.cpp @@ -658,7 +658,11 @@ jit_compiler::jit_compiler(const std::unordered_map& _link, co std::string result; auto null_mod = std::make_unique ("null_", *m_context); +#if LLVM_VERSION_MAJOR >= 21 && (LLVM_VERSION_MINOR >= 1 || LLVM_VERSION_MAJOR >= 22) + null_mod->setTargetTriple(llvm::Triple(jit_compiler::triple1())); +#else null_mod->setTargetTriple(jit_compiler::triple1()); +#endif std::unique_ptr mem; @@ -672,7 +676,11 @@ jit_compiler::jit_compiler(const std::unordered_map& _link, co else { mem = std::make_unique(std::move(symbols_cement)); +#if LLVM_VERSION_MAJOR >= 21 && (LLVM_VERSION_MINOR >= 1 || LLVM_VERSION_MAJOR >= 22) + null_mod->setTargetTriple(llvm::Triple(jit_compiler::triple2())); +#else null_mod->setTargetTriple(jit_compiler::triple2()); +#endif } } else diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index d27e4104ca..456715ccf9 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -5803,7 +5803,11 @@ static void ppu_initialize2(jit_compiler& jit, const ppu_module& module std::unique_ptr _module = std::make_unique(obj_name, jit.get_context()); // Initialize target +#if LLVM_VERSION_MAJOR >= 21 && (LLVM_VERSION_MINOR >= 1 || LLVM_VERSION_MAJOR >= 22) + _module->setTargetTriple(Triple(jit_compiler::triple1())); +#else _module->setTargetTriple(jit_compiler::triple1()); +#endif _module->setDataLayout(jit.get_engine().getTargetMachine()->createDataLayout()); // Initialize translator diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index e66d7c9654..fa1d782ee4 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -1598,7 +1598,11 @@ public: // Create LLVM module std::unique_ptr _module = std::make_unique(m_hash + ".obj", m_context); +#if LLVM_VERSION_MAJOR >= 21 && (LLVM_VERSION_MINOR >= 1 || LLVM_VERSION_MAJOR >= 22) + _module->setTargetTriple(Triple(jit_compiler::triple2())); +#else _module->setTargetTriple(jit_compiler::triple2()); +#endif _module->setDataLayout(m_jit.get_engine().getTargetMachine()->createDataLayout()); m_module = _module.get(); @@ -2873,7 +2877,11 @@ public: // Create LLVM module std::unique_ptr _module = std::make_unique("spu_interpreter.obj", m_context); +#if LLVM_VERSION_MAJOR >= 21 && (LLVM_VERSION_MINOR >= 1 || LLVM_VERSION_MAJOR >= 22) + _module->setTargetTriple(Triple(jit_compiler::triple2())); +#else _module->setTargetTriple(jit_compiler::triple2()); +#endif _module->setDataLayout(m_jit.get_engine().getTargetMachine()->createDataLayout()); m_module = _module.get();