Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Experimental] PPU LLVM: Recycle identical functions #15308

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

g

660a37c
Select commit
Loading
Failed to load commit list.
Draft

[Experimental] PPU LLVM: Recycle identical functions #15308

g
660a37c
Select commit
Loading
Failed to load commit list.
Cirrus CI / Cirrus FreeBSD failed Apr 27, 2024 in 5m 7s

Task Summary

Instruction main failed in 01:52

Details

⚠️ Not enough compute credits to prioritize tasks!

✅ 00:25 clone
✅ 00:01 ccache
✅ 02:46 install
❌ 01:52 main

        [[deprecated]] void wait(type old_value, atomic_wait_timeout timeout = atomic_wait_timeout::inf) const
          ^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/SPUThread.cpp:5348:38: warning: 'wait' is deprecated [-Wdeprecated-declarations]
                                        vm::reservation_notifier(raddr).wait(rtime, atomic_wait_timeout{80'000});
                                                                        ^
/tmp/cirrus-ci-build/rpcs3/util/atomic.hpp:1691:4: note: 'wait' has been explicitly marked deprecated here
        [[deprecated]] void wait(type old_value, atomic_wait_timeout timeout = atomic_wait_timeout::inf) const
          ^
3 warnings generated.
[319/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUAnalyser.cpp.o
FAILED: rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUAnalyser.cpp.o 
ccache /usr/local/bin/clang++16 -DDATADIR=\"/usr/local/share/rpcs3\" -DECC_SHAMIR -DFP_MAX_BITS=8192 -DGCM_TABLE_4BIT -DHAVE_AESGCM -DHAVE_CHACHA -DHAVE_DH_DEFAULT_PARAMS -DHAVE_ECC -DHAVE_ENCRYPT_THEN_MAC -DHAVE_EXTENDED_MASTER -DHAVE_FAUDIO -DHAVE_FFDHE_2048 -DHAVE_HASHDRBG -DHAVE_LIBEVDEV -DHAVE_ONE_TIME_AUTH -DHAVE_POLY1305 -DHAVE_PTHREAD -DHAVE_SNI -DHAVE_SUPPORTED_CURVES -DHAVE_THREAD_LS -DHAVE_TLS_EXTENSIONS -DHAVE_VULKAN -DHAVE_WRITE_DUP -DHAVE_X11 -DHAVE___UINT128_T -DLLVM_AVAILABLE -DMINIUPNP_STATICLIB -DNO_DSA -DNO_MD4 -DNO_PSK -DNO_RC4 -DOPENSSL_EXTRA -DSOUNDTOUCH_ALLOW_SSE -DSOUNDTOUCH_FLOAT_SAMPLES -DST_NO_EXCEPTION_HANDLING -DTFM_ECC256 -DUSE_FAST_MATH -DUSE_MULTICH_ALWAYS -DVK_USE_PLATFORM_WAYLAND_KHR -DWC_NO_ASYNC_THREADING -DWC_NO_HARDEN -DWOLFSSL_ALT_CERT_CHAINS -DWOLFSSL_DES_ECB -DWOLFSSL_ENCRYPTED_KEYS -DWOLFSSL_NO_SHAKE128 -DWOLFSSL_SHA3 -DWOLFSSL_SHA384 -DWOLFSSL_SHA512 -DWOLFSSL_SHAKE256 -DWOLFSSL_SYS_CA_CERTS -DWOLFSSL_USE_ALIGN -DYAML_CPP_STATIC_DEFINE -DZLIB_CONST=1 -D_POSIX_THREADS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/cirrus-ci-build/rpcs3 -I/tmp/cirrus-ci-build -I/tmp/cirrus-ci-build/3rdparty/yaml-cpp/yaml-cpp/include -I/tmp/cirrus-ci-build/3rdparty/flatbuffers/include -I/tmp/cirrus-ci-build/3rdparty/pugixml/src -I/tmp/cirrus-ci-build/3rdparty/FAudio/src -I/tmp/cirrus-ci-build/3rdparty/FAudio/include -I/usr/local/include/AL -I/tmp/cirrus-ci-build/3rdparty/cubeb/cubeb/include -I/tmp/cirrus-ci-build/build/exports -I/tmp/cirrus-ci-build/3rdparty/SoundTouch/soundtouch/include -I/tmp/cirrus-ci-build/3rdparty/miniupnp/miniupnp/miniupnpc/include -I/tmp/cirrus-ci-build/3rdparty/stblib/include -I/usr/local/llvm16/include -I/tmp/cirrus-ci-build/3rdparty/asmjit/asmjit/src -I/tmp/cirrus-ci-build/3rdparty/rtmidi/rtmidi -I/tmp/cirrus-ci-build/3rdparty/GL -I/tmp/cirrus-ci-build/3rdparty/glslang/glslang/SPIRV/.. -I/tmp/cirrus-ci-build/build/include -I/tmp/cirrus-ci-build/3rdparty/wolfssl/wolfssl -I/tmp/cirrus-ci-build/build/3rdparty/wolfssl/wolfssl -I/tmp/cirrus-ci-build/3rdparty/xxHash/cmake_unofficial/.. -I/tmp/cirrus-ci-build/3rdparty/xxHash -isystem /usr/local/include/libevdev-1.0 -isystem /usr/local/include -isystem /usr/local/include/SDL2 -nostdinc++ -isystem/tmp/cirrus-ci-build/libcxx_prefix/include/c++/v1 -O3 -DNDEBUG -std=gnu++20 -pthread -Wall -fno-exceptions -fstack-protector -msse -msse2 -mcx16 -Werror=old-style-cast -Werror=sign-compare -Werror=reorder -Werror=return-type -Werror=overloaded-virtual -Werror=missing-noreturn -Werror=implicit-fallthrough -Wunused-parameter -Wignored-qualifiers -Wredundant-move -Wcast-qual -Wdeprecated-copy -Wtautological-compare -Wempty-body -Wredundant-decls -Wstrict-aliasing=1 -Werror=inconsistent-missing-override -Werror=delete-non-virtual-dtor -fconstexpr-steps=16777216 -Wno-unused-lambda-capture -Wno-unused-private-field -Wno-unused-command-line-argument -MD -MT rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUAnalyser.cpp.o -MF rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUAnalyser.cpp.o.d -o rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUAnalyser.cpp.o -c /tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2128:1: error: expected expression
/                                       const ppu_opcode_t op{*i_ptr};
^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2128:7: error: expected expression
/                                       const ppu_opcode_t op{*i_ptr};
                                        ^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2129:44: error: use of undeclared identifier 'op'
                                        const auto itype = s_ppu_itype.decode(op.opcode);
                                                                              ^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2146:11: error: use of undeclared identifier 'op'
                                        if (!op.aa)
                                             ^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2152:37: error: use of undeclared identifier 'op'
                                        if (itype == ppu_itype::BC && (op.bo & 0x14) != 0x14)
                                                                       ^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2193:20: warning: loop variable '[addr, size]' creates a copy from type 'const value_type' (aka 'const pair<const unsigned int, unsigned int>') [-Wrange-loop-construct]
                        for (const auto [addr, size] : func.blocks)
                                        ^
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUAnalyser.cpp:2193:9: note: use reference type 'const value_type &' (aka 'const pair<const unsigned int, unsigned int> &') to prevent copying
                        for (const auto [addr, size] : func.blocks)
                             ^~~~~~~~~~~~~~~~~~~~~~~~~
                                        &
1 warning and 5 errors generated.
[320/823] Building C object 3rdparty/wolfssl/wolfssl/CMakeFiles/wolfssl.dir/src/ssl.c.o
[321/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUDisAsm.cpp.o
[322/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/SPUASMJITRecompiler.cpp.o
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/SPUASMJITRecompiler.cpp:71:22: warning: 'wait' is deprecated [-Wdeprecated-declarations]
                        add_loc->compiled.wait(nullptr);
                                          ^
/tmp/cirrus-ci-build/rpcs3/util/atomic.hpp:1691:4: note: 'wait' has been explicitly marked deprecated here
        [[deprecated]] void wait(type old_value, atomic_wait_timeout timeout = atomic_wait_timeout::inf) const
          ^
1 warning generated.
[323/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUModule.cpp.o
[324/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/lv2/lv2.cpp.o
[325/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUTranslator.cpp.o
[326/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUThread.cpp.o
/tmp/cirrus-ci-build/rpcs3/Emu/Cell/PPUThread.cpp:5096:7: warning: unused variable 'early_exit' [-Wunused-variable]
        bool early_exit = false;
             ^
1 warning generated.
[327/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/System.cpp.o
[328/823] Building CXX object rpcs3/Emu/CMakeFiles/rpcs3_emu.dir/Cell/PPUInterpreter.cpp.o
ninja: build stopped: subcommand failed.