[Experimental] PPU LLVM: Recycle identical functions #15308
+164
−6
Draft
Cirrus CI / Cirrus FreeBSD
failed
Apr 27, 2024 in 5m 7s
Task Summary
Instruction main failed in 01:52
Details
✅ 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.
Loading