mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-16 23:17:29 +00:00
Use LLVM 4.0
This commit is contained in:
parent
ad72168143
commit
3e6f9faf71
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -12,7 +12,7 @@
|
|||||||
[submodule "llvm"]
|
[submodule "llvm"]
|
||||||
path = llvm
|
path = llvm
|
||||||
url = https://github.com/llvm-mirror/llvm
|
url = https://github.com/llvm-mirror/llvm
|
||||||
branch = release_38
|
branch = release_40
|
||||||
[submodule "rsx_program_decompiler"]
|
[submodule "rsx_program_decompiler"]
|
||||||
path = rsx_program_decompiler
|
path = rsx_program_decompiler
|
||||||
url = https://github.com/RPCS3/rsx_program_decompiler
|
url = https://github.com/RPCS3/rsx_program_decompiler
|
||||||
|
15
.travis.yml
15
.travis.yml
@ -43,18 +43,14 @@ before_install:
|
|||||||
pip install --user cpp-coveralls requests[security];
|
pip install --user cpp-coveralls requests[security];
|
||||||
else
|
else
|
||||||
brew update; brew update;
|
brew update; brew update;
|
||||||
brew install ccache glew wxwidgets llvm38;
|
brew install ccache glew wxwidgets llvm40;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- git submodule update --init rsx_program_decompiler asmjit 3rdparty/ffmpeg 3rdparty/pugixml 3rdparty/GSL 3rdparty/libpng Utilities/yaml-cpp 3rdparty/cereal
|
- git submodule update --init rsx_program_decompiler asmjit 3rdparty/ffmpeg 3rdparty/pugixml 3rdparty/GSL 3rdparty/libpng Utilities/yaml-cpp 3rdparty/cereal
|
||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
- cmake ..
|
||||||
cmake ..;
|
|
||||||
else
|
|
||||||
cmake .. -DLLVM_DIR=/usr/local/opt/llvm38/lib/llvm-3.8/share/llvm/cmake;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
# Add a command to show all the variables. May be useful for debugging Travis.
|
# Add a command to show all the variables. May be useful for debugging Travis.
|
||||||
@ -67,19 +63,18 @@ addons:
|
|||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
#- llvm-toolchain-trusty-3.8 temporarily disabled
|
- llvm-toolchain-trusty-4.0
|
||||||
packages:
|
packages:
|
||||||
- cmake
|
- cmake
|
||||||
- libopenal-dev
|
- libopenal-dev
|
||||||
- freeglut3-dev
|
- freeglut3-dev
|
||||||
- libglew-dev
|
- libglew-dev
|
||||||
- libc6-dev
|
- libc6-dev
|
||||||
#- llvm-3.8
|
- llvm-4.0
|
||||||
#- llvm-3.8-dev
|
- llvm-4.0-dev
|
||||||
- libedit-dev
|
- libedit-dev
|
||||||
- g++-5
|
- g++-5
|
||||||
- gcc-5
|
- gcc-5
|
||||||
#- clang-3.6
|
|
||||||
- libstdc++-5-dev
|
- libstdc++-5-dev
|
||||||
- lib32stdc++6
|
- lib32stdc++6
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
|
@ -305,11 +305,6 @@ jit_compiler::jit_compiler(std::unordered_map<std::string, std::uintptr_t> init_
|
|||||||
m_cpu = llvm::sys::getHostCPUName();
|
m_cpu = llvm::sys::getHostCPUName();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_cpu == "skylake")
|
|
||||||
{
|
|
||||||
m_cpu = "haswell";
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string result;
|
std::string result;
|
||||||
|
|
||||||
m_engine.reset(llvm::EngineBuilder(std::make_unique<llvm::Module>("", g_llvm_ctx))
|
m_engine.reset(llvm::EngineBuilder(std::make_unique<llvm::Module>("", g_llvm_ctx))
|
||||||
|
@ -17,14 +17,14 @@ before_build:
|
|||||||
- 7z x zlib.7z -aos -oC:\rpcs3\ > null
|
- 7z x zlib.7z -aos -oC:\rpcs3\ > null
|
||||||
- 7z x vulkan.7z -aos -oC:\rpcs3\Vulkan > null
|
- 7z x vulkan.7z -aos -oC:\rpcs3\Vulkan > null
|
||||||
- if %configuration%==Release (cmake -G "Visual Studio 14 Win64" -DZLIB_ROOT=C:/rpcs3/zlib/ -DVULKAN_PREBUILT=ON)
|
- if %configuration%==Release (cmake -G "Visual Studio 14 Win64" -DZLIB_ROOT=C:/rpcs3/zlib/ -DVULKAN_PREBUILT=ON)
|
||||||
else (7z x llvmlibs.7z -aos -oC:\rpcs3 > null && cmake -G "Visual Studio 14 Win64" -DLLVM_DIR=C:/rpcs3/llvm_build/share/llvm/cmake -DZLIB_ROOT=C:/rpcs3/zlib/ -DVULKAN_PREBUILT=ON)
|
else (7z x llvmlibs.7z -aos -oC:\rpcs3 > null && cmake -G "Visual Studio 14 Win64" -DLLVM_DIR=C:/rpcs3/llvm_build/lib/cmake/llvm -DZLIB_ROOT=C:/rpcs3/zlib/ -DVULKAN_PREBUILT=ON)
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- cmake --build . --config Release -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
- cmake --build . --config Release -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- appveyor DownloadFile "https://dl.dropboxusercontent.com/s/c1by0uulee6g8th/wxWidgets.7z?dl=0" -FileName wxWidgets.7z
|
- appveyor DownloadFile "https://dl.dropboxusercontent.com/s/c1by0uulee6g8th/wxWidgets.7z?dl=0" -FileName wxWidgets.7z
|
||||||
- appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B-98fOyaZKJ5YWVnb29JZXFQWkU" -FileName llvmlibs.7z
|
- appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRY2k3Q2Yya05lcm8" -FileName llvmlibs.7z
|
||||||
- appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRa21fbDQteTN1dGs" -FileName vulkan.7z
|
- appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRa21fbDQteTN1dGs" -FileName vulkan.7z
|
||||||
- appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B6v_qtb9hkicQ2hHa2dRbF83cE0" -FileName zlib.7z
|
- appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B6v_qtb9hkicQ2hHa2dRbF83cE0" -FileName zlib.7z
|
||||||
- set WXWIN=C:\rpcs3\wxWidgets
|
- set WXWIN=C:\rpcs3\wxWidgets
|
||||||
|
2
llvm
2
llvm
@ -1 +1 @@
|
|||||||
Subproject commit 051e787f26dbfdc26cf61a57bc82ca00dcb812e8
|
Subproject commit 4423e351176a92975739dd4ea43c2ff5877236ae
|
@ -88,7 +88,7 @@ if(NOT MSVC)
|
|||||||
endif()
|
endif()
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
find_package(OpenAL REQUIRED)
|
find_package(OpenAL REQUIRED)
|
||||||
find_package(LLVM 3.8 CONFIG)
|
find_package(LLVM 4.0 CONFIG)
|
||||||
|
|
||||||
include("${wxWidgets_USE_FILE}")
|
include("${wxWidgets_USE_FILE}")
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT LLVM_FOUND)
|
if(NOT LLVM_FOUND)
|
||||||
Message("LLVM not found! LLVM 3.8 is required. RPCS3 will be compiled without LLVM support.")
|
Message("LLVM not found! LLVM 4.0 is required. RPCS3 will be compiled without LLVM support.")
|
||||||
else()
|
else()
|
||||||
add_definitions(${LLVM_DEFINITIONS})
|
add_definitions(${LLVM_DEFINITIONS})
|
||||||
add_definitions(-DLLVM_AVAILABLE)
|
add_definitions(-DLLVM_AVAILABLE)
|
||||||
|
@ -1003,7 +1003,7 @@ extern void ppu_initialize(const ppu_module& info)
|
|||||||
//pm.add(new MemoryDependenceAnalysis());
|
//pm.add(new MemoryDependenceAnalysis());
|
||||||
pm.add(createLICMPass());
|
pm.add(createLICMPass());
|
||||||
pm.add(createLoopInstSimplifyPass());
|
pm.add(createLoopInstSimplifyPass());
|
||||||
pm.add(createGVNPass());
|
//pm.add(createGVNPass());
|
||||||
pm.add(createDeadStoreEliminationPass());
|
pm.add(createDeadStoreEliminationPass());
|
||||||
pm.add(createSCCPPass());
|
pm.add(createSCCPPass());
|
||||||
pm.add(createInstructionCombiningPass());
|
pm.add(createInstructionCombiningPass());
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<Lib>
|
<Lib>
|
||||||
<AdditionalLibraryDirectories Condition="'$(Configuration)'=='Debug - LLVM'">..\llvm_build\Debug\lib</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(Configuration)'=='Debug - LLVM'">..\llvm_build\Debug\lib</AdditionalLibraryDirectories>
|
||||||
<AdditionalLibraryDirectories Condition="'$(Configuration)'=='Release - LLVM'">..\llvm_build\Release\lib</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(Configuration)'=='Release - LLVM'">..\llvm_build\Release\lib</AdditionalLibraryDirectories>
|
||||||
<AdditionalDependencies>LLVMProfileData.lib;LLVMDebugInfoCodeView.lib;LLVMInstrumentation.lib;LLVMMCJIT.lib;LLVMRuntimeDyld.lib;LLVMVectorize.lib;LLVMX86CodeGen.lib;LLVMX86Disassembler.lib;LLVMExecutionEngine.lib;LLVMAsmPrinter.lib;LLVMSelectionDAG.lib;LLVMCodeGen.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMTransformUtils.lib;LLVMAnalysis.lib;LLVMTarget.lib;LLVMX86Desc.lib;LLVMX86AsmPrinter.lib;LLVMObject.lib;LLVMMCParser.lib;LLVMBitReader.lib;LLVMCore.lib;LLVMX86Utils.lib;LLVMMC.lib;LLVMX86Info.lib;LLVMSupport.lib;LLVMMCDisassembler.lib;LLVMipo.lib</AdditionalDependencies>
|
<AdditionalDependencies>LLVMProfileData.lib;LLVMDebugInfoCodeView.lib;LLVMDebugInfoMSF.lib;LLVMInstrumentation.lib;LLVMMCJIT.lib;LLVMRuntimeDyld.lib;LLVMVectorize.lib;LLVMX86CodeGen.lib;LLVMGlobalISel.lib;LLVMX86Disassembler.lib;LLVMExecutionEngine.lib;LLVMAsmPrinter.lib;LLVMSelectionDAG.lib;LLVMCodeGen.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMTransformUtils.lib;LLVMAnalysis.lib;LLVMTarget.lib;LLVMX86Desc.lib;LLVMX86AsmPrinter.lib;LLVMObject.lib;LLVMMCParser.lib;LLVMBitReader.lib;LLVMCore.lib;LLVMX86Utils.lib;LLVMMC.lib;LLVMX86Info.lib;LLVMSupport.lib;LLVMMCDisassembler.lib;LLVMipo.lib</AdditionalDependencies>
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup />
|
<ItemGroup />
|
||||||
|
Loading…
Reference in New Issue
Block a user