1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-25 04:02:42 +01:00

Use LLVM 7 (master)

This commit is contained in:
Nekotekina 2018-06-27 21:19:02 +03:00
parent 1ac203a958
commit e009bbac10
6 changed files with 18 additions and 18 deletions

View File

@ -49,7 +49,7 @@ install:
fi;
# Download pre-compiled LLVM libs
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
wget https://github.com/RPCS3/llvm/releases/download/continuous-linux-release_60/llvmlibs-linux.tar.gz;
wget https://github.com/RPCS3/llvm/releases/download/continuous-linux-master/llvmlibs-linux.tar.gz;
mkdir llvmlibs;
tar -xzf ./llvmlibs-linux.tar.gz -C llvmlibs;
fi;

View File

@ -64,7 +64,7 @@ Open `rpcs3.sln`
### Building the projects
The recommended build configuration is Release - LLVM, for all purposes.
You may want to download precompiled [LLVM lib](https://github.com/RPCS3/llvm/releases/download/continuous-release_60/llvmlibs.7z) and extract to root rpcs3 folder (which contains `rpcs3.sln`), as well as download and extract [additional libs](https://drive.google.com/uc?export=download&id=1A2eOMmCO714i0U7J0qI4aEMKnuWl8l_R) to `lib\%CONFIGURATION%-x64\` to speed up compilation time (unoptimised/debug libs are currently not available precompiled).
You may want to download precompiled [LLVM lib](https://github.com/RPCS3/llvm/releases/download/continuous-master/llvmlibs.7z) and extract to root rpcs3 folder (which contains `rpcs3.sln`), as well as download and extract [additional libs](https://drive.google.com/uc?export=download&id=1A2eOMmCO714i0U7J0qI4aEMKnuWl8l_R) to `lib\%CONFIGURATION%-x64\` to speed up compilation time (unoptimised/debug libs are currently not available precompiled).
If you're not using precompiled libs, build the projects in *__BUILD_BEFORE* folder: right-click on every project > *Build*.

View File

@ -5,7 +5,7 @@ image: Visual Studio 2015
environment:
QTDIR: C:\Qt\5.11\msvc2015_64
LLVMLIBS: https://github.com/RPCS3/llvm/releases/download/continuous-release_60/llvmlibs.7z
LLVMLIBS: https://github.com/RPCS3/llvm/releases/download/continuous-master/llvmlibs.7z
GLSLANG: https://drive.google.com/uc?export=download&id=1nJK_NEeRzJ_r_u4zWLySwLmMrV8ZO_wL
COMPATDB: https://rpcs3.net/compatibility?api=v1&export
VULKAN_SDK: "C:\\VulkanSDK\\1.1.73.0"

2
llvm

@ -1 +1 @@
Subproject commit 4952addb0c00546fcf8a9d6b0ca7aec3f4243cca
Subproject commit 60611c0f232c78be92ae9cece45cc415bfbe193a

View File

@ -192,7 +192,7 @@ find_package(OpenGL REQUIRED)
find_package(OpenAL REQUIRED)
if(NOT WITHOUT_LLVM)
if (EXISTS "${CMAKE_SOURCE_DIR}/llvmlibs")
find_package(LLVM 6.0 CONFIG)
find_package(LLVM 7.0 CONFIG)
endif()
if(NOT LLVM_FOUND)
message("LLVM will be built from the submodule.")
@ -212,7 +212,7 @@ if(NOT WITHOUT_LLVM)
set(LLVM_DIR "${CMAKE_CURRENT_BINARY_DIR}/../llvm_build/lib/cmake/llvm/")
# now tries to find LLVM again
find_package(LLVM 6.0 CONFIG)
find_package(LLVM 7.0 CONFIG)
if(NOT LLVM_FOUND)
message(WARNING "Couldn't build LLVM from the submodule. You might need to run `git submodule update --init`")
endif()

View File

@ -2631,7 +2631,7 @@ void PPUTranslator::MTOCRF(ppu_opcode_t op)
const auto index = m_ir->CreateAnd(m_ir->CreateLShr(value, 28 - i * 4), 15);
const auto src = m_ir->CreateGEP(m_mtocr_table, {m_ir->getInt32(0), m_ir->CreateShl(index, 2)});
const auto dst = m_ir->CreateBitCast(m_ir->CreateStructGEP(nullptr, m_thread, m_cr - m_locals + i * 4), GetType<u8*>());
Call(GetType<void>(), "llvm.memcpy.p0i8.p0i8.i32", dst, src, m_ir->getInt32(4), m_ir->getInt32(4), m_ir->getFalse());
Call(GetType<void>(), "llvm.memcpy.p0i8.p0i8.i32", dst, src, m_ir->getInt32(4), m_ir->getFalse());
}
}
}
@ -3338,7 +3338,7 @@ void PPUTranslator::ICBI(ppu_opcode_t op)
void PPUTranslator::DCBZ(ppu_opcode_t op)
{
const auto ptr = GetMemory(m_ir->CreateAnd(op.ra ? m_ir->CreateAdd(GetGpr(op.ra), GetGpr(op.rb)) : GetGpr(op.rb), -128), GetType<u8>());
Call(GetType<void>(), "llvm.memset.p0i8.i32", ptr, m_ir->getInt8(0), m_ir->getInt32(128), m_ir->getInt32(16), m_ir->getTrue());
Call(GetType<void>(), "llvm.memset.p0i8.i32", ptr, m_ir->getInt8(0), m_ir->getInt32(128), m_ir->getTrue());
}
void PPUTranslator::LWZ(ppu_opcode_t op)