From 363a225554324586d89d0af5f244d6449a048b04 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Sat, 25 Jan 2025 16:17:40 +0100 Subject: [PATCH] Update LLVM to 19.1.7 --- .ci/build-freebsd.sh | 4 ++-- .ci/get_keys-windows.sh | 2 +- .ci/install-freebsd.sh | 2 +- .ci/setup-windows.sh | 2 +- 3rdparty/llvm/CMakeLists.txt | 2 +- 3rdparty/llvm/llvm | 2 +- BUILDING.md | 2 +- azure-pipelines.yml | 4 ++-- buildfiles/msvc/rpcs3_debug.props | 5 ++++- buildfiles/msvc/rpcs3_release.props | 5 ++++- rpcs3/emucore.vcxproj | 6 ++++++ 11 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.ci/build-freebsd.sh b/.ci/build-freebsd.sh index 6fc823056e..c1affc46b1 100755 --- a/.ci/build-freebsd.sh +++ b/.ci/build-freebsd.sh @@ -7,9 +7,9 @@ git submodule -q update --init --depth 1 $(awk '/path/ && !/llvm/ && !/opencv/ { # Prefer newer Clang than in base system (see also .ci/install-freebsd.sh) # libc++ isn't in llvm* packages, so download manually -fetch https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/llvm-project-18.1.8.src.tar.xz +fetch https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.7/llvm-project-19.1.7.src.tar.xz tar xf llvm*.tar.xz -export CC=clang18 CXX=clang++18 +export CC=clang19 CXX=clang++19 cmake -B libcxx_build -G Ninja -S llvm*/libcxx \ -DLLVM_CCACHE_BUILD=ON \ -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ diff --git a/.ci/get_keys-windows.sh b/.ci/get_keys-windows.sh index b9d4067eaa..efc63978f1 100644 --- a/.ci/get_keys-windows.sh +++ b/.ci/get_keys-windows.sh @@ -1,4 +1,4 @@ #!/bin/sh -ex -curl -fLo "./llvm.lock" "https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-18.1.8/llvmlibs_mt.7z.sha256" +curl -fLo "./llvm.lock" "https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-19.1.7/llvmlibs_mt.7z.sha256" curl -fLo "./glslang.lock" "https://github.com/RPCS3/glslang/releases/download/custom-build-win/glslanglibs_mt.7z.sha256" diff --git a/.ci/install-freebsd.sh b/.ci/install-freebsd.sh index d38585c255..0cc0a71ba3 100755 --- a/.ci/install-freebsd.sh +++ b/.ci/install-freebsd.sh @@ -9,7 +9,7 @@ export ASSUME_ALWAYS_YES=true pkg info # debug # Prefer newer Clang than in base system (see also .ci/build-freebsd.sh) -pkg install llvm18 +pkg install llvm19 # Mandatory dependencies (qt6-base is pulled via qt6-multimedia) pkg install git ccache cmake ninja qt6-multimedia qt6-svg glew openal-soft ffmpeg diff --git a/.ci/setup-windows.sh b/.ci/setup-windows.sh index 763b230d56..07433d3505 100755 --- a/.ci/setup-windows.sh +++ b/.ci/setup-windows.sh @@ -19,7 +19,7 @@ QT_DECL_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qtdeclarative${QT_SUFFIX}" QT_TOOL_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qttools${QT_SUFFIX}" QT_MM_URL="${QT_HOST}${QT_PREFIX}addons.qtmultimedia.${QT_PREFIX_2}qtmultimedia${QT_SUFFIX}" QT_SVG_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qtsvg${QT_SUFFIX}" -LLVMLIBS_URL='https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-18.1.8/llvmlibs_mt.7z' +LLVMLIBS_URL='https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-19.1.7/llvmlibs_mt.7z' GLSLANG_URL='https://github.com/RPCS3/glslang/releases/latest/download/glslanglibs_mt.7z' VULKAN_SDK_URL="https://www.dropbox.com/scl/fi/sjjh0fc4ld281pjbl2xzu/VulkanSDK-1.3.268.0-Installer.exe?rlkey=f6wzc0lvms5vwkt2z3qabfv9d&dl=1" diff --git a/3rdparty/llvm/CMakeLists.txt b/3rdparty/llvm/CMakeLists.txt index 2da332a85b..cad20a7e09 100644 --- a/3rdparty/llvm/CMakeLists.txt +++ b/3rdparty/llvm/CMakeLists.txt @@ -41,7 +41,7 @@ if(WITH_LLVM) set(STATIC_LINK_LLVM ON CACHE BOOL "Link against LLVM statically. This will get set to ON if you build LLVM from the submodule." FORCE) - find_package(LLVM 18.1 CONFIG) + find_package(LLVM 19.1 CONFIG) if(NOT LLVM_FOUND) message(FATAL_ERROR "Couldn't build LLVM from the submodule. You might need to run `git submodule update --init`") endif() diff --git a/3rdparty/llvm/llvm b/3rdparty/llvm/llvm index 3b5b5c1ec4..cd708029e0 160000 --- a/3rdparty/llvm/llvm +++ b/3rdparty/llvm/llvm @@ -1 +1 @@ -Subproject commit 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff +Subproject commit cd708029e0b2869e80abe31ddb175f7c35361f90 diff --git a/BUILDING.md b/BUILDING.md index f1aa66800d..a8c92e26a6 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -128,7 +128,7 @@ Start **Visual Studio**, click on `Open a project or solution` and select the `r **NOTE:** The recommended build configuration is `Release`. (On older revisions: `Release - LLVM`) To speed up the compilation time, you may want to download and extract to `\build\lib_ext\<$(Configuration)>-x64` (e.g. `c:\rpcs3\build\lib_ext\Release-x64`; the path needs to be created) some of the following precompiled libs: -- [LLVM libs](https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-18.1.8/llvmlibs_mt.7z) +- [LLVM libs](https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-19.1.7/llvmlibs_mt.7z) - [additional libs](https://github.com/RPCS3/glslang/releases/latest/download/glslanglibs_mt.7z) **NOTES:** diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d2ad391b7b..e158f44e9a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -134,7 +134,7 @@ jobs: ARTDIR: $(Build.ArtifactStagingDirectory) QT_VER: '6.7.3' QT_VER_MAIN: '6' - LLVM_COMPILER_VER: '18' + LLVM_COMPILER_VER: '19' pool: vmImage: "macOS-13" @@ -195,7 +195,7 @@ jobs: ARTDIR: $(Build.ArtifactStagingDirectory) QT_VER: '6.7.3' QT_VER_MAIN: '6' - LLVM_COMPILER_VER: '18' + LLVM_COMPILER_VER: '19' pool: vmImage: "macOS-13" diff --git a/buildfiles/msvc/rpcs3_debug.props b/buildfiles/msvc/rpcs3_debug.props index aebcbf65f3..129ae8e188 100644 --- a/buildfiles/msvc/rpcs3_debug.props +++ b/buildfiles/msvc/rpcs3_debug.props @@ -26,6 +26,7 @@ LLVMBitWriter.lib; LLVMCFGuard.lib; LLVMCodeGen.lib; + LLVMCodeGenData.lib; LLVMCodeGenTypes.lib; LLVMCore.lib; LLVMCoroutines.lib; @@ -59,6 +60,7 @@ LLVMInstCombine.lib; LLVMInstrumentation.lib; LLVMIntelJITEvents.lib; + LLVMIntelJITProfiling.lib; LLVMInterfaceStub.lib; LLVMInterpreter.lib; LLVMipo.lib; @@ -88,13 +90,14 @@ LLVMProfileData.lib; LLVMRemarks.lib; LLVMRuntimeDyld.lib; + LLVMSandboxIR.lib; LLVMScalarOpts.lib; LLVMSelectionDAG.lib; LLVMSupport.lib; LLVMSymbolize.lib; LLVMTableGen.lib; + LLVMTableGenBasic.lib; LLVMTableGenCommon.lib; - LLVMTableGenGlobalISel.lib; LLVMTarget.lib; LLVMTargetParser.lib; LLVMTextAPI.lib; diff --git a/buildfiles/msvc/rpcs3_release.props b/buildfiles/msvc/rpcs3_release.props index 2114e59653..ba2832da6d 100644 --- a/buildfiles/msvc/rpcs3_release.props +++ b/buildfiles/msvc/rpcs3_release.props @@ -27,6 +27,7 @@ LLVMBitWriter.lib; LLVMCFGuard.lib; LLVMCodeGen.lib; + LLVMCodeGenData.lib; LLVMCodeGenTypes.lib; LLVMCore.lib; LLVMCoroutines.lib; @@ -60,6 +61,7 @@ LLVMInstCombine.lib; LLVMInstrumentation.lib; LLVMIntelJITEvents.lib; + LLVMIntelJITProfiling.lib; LLVMInterfaceStub.lib; LLVMInterpreter.lib; LLVMipo.lib; @@ -89,13 +91,14 @@ LLVMProfileData.lib; LLVMRemarks.lib; LLVMRuntimeDyld.lib; + LLVMSandboxIR.lib; LLVMScalarOpts.lib; LLVMSelectionDAG.lib; LLVMSupport.lib; LLVMSymbolize.lib; LLVMTableGen.lib; + LLVMTableGenBasic.lib; LLVMTableGenCommon.lib; - LLVMTableGenGlobalISel.lib; LLVMTarget.lib; LLVMTargetParser.lib; LLVMTextAPI.lib; diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index bbb69c30b2..ce37547789 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -51,6 +51,12 @@ cmd.exe /c "$(SolutionDir)\Utilities\git-version-gen.cmd" Updating git-version.h + + ntdll.lib + + + ntdll.lib +