From f1cc76614bc228283a1b0d00bf7b1d68bc9f7c3e Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Thu, 10 Aug 2023 18:45:14 +0200 Subject: [PATCH 1/4] Include VIXL as a system library This suppresses warnings from VIXL headers. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0198b9d4d..1d2add87c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -236,7 +236,7 @@ if (BUILD_TESTS) endif() add_subdirectory(External/vixl/) -include_directories(External/vixl/src/) +include_directories(SYSTEM External/vixl/src/) if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # This means we were attempted to get compiled with GCC From 45d0f0d349adc530130bfb1f167d22ee3da3fd3a Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Thu, 10 Aug 2023 18:45:14 +0200 Subject: [PATCH 2/4] ARMEmitter: Fix warnings about unused variables in Release builds --- .../Source/Interface/Core/ArchHelpers/CodeEmitter/SVEOps.inl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/External/FEXCore/Source/Interface/Core/ArchHelpers/CodeEmitter/SVEOps.inl b/External/FEXCore/Source/Interface/Core/ArchHelpers/CodeEmitter/SVEOps.inl index 68d8b861c..7f8e73f4c 100644 --- a/External/FEXCore/Source/Interface/Core/ArchHelpers/CodeEmitter/SVEOps.inl +++ b/External/FEXCore/Source/Interface/Core/ArchHelpers/CodeEmitter/SVEOps.inl @@ -3981,7 +3981,7 @@ private: const auto& op_data = mem_op.MetaType.ScalarVectorType; const bool is_scaled = op_data.scale != 0; - const auto msize_value = FEXCore::ToUnderlying(msize); + [[maybe_unused]] const auto msize_value = FEXCore::ToUnderlying(msize); LOGMAN_THROW_A_FMT(op_data.scale == 0 || op_data.scale == msize_value, "scale may only be 0 or {}", msize_value); @@ -4106,7 +4106,7 @@ private: const auto msize_value = FEXCore::ToUnderlying(msize); const auto msize_bytes = 1U << msize_value; - const auto imm_limit = (32U << msize_value) - msize_bytes; + [[maybe_unused]] const auto imm_limit = (32U << msize_value) - msize_bytes; const auto imm = mem_op.MetaType.VectorImmType.Imm; const auto imm_to_encode = imm >> msize_value; From e0d21e61cc2bbfc5d8288070ce2f228ec46e8e48 Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Thu, 10 Aug 2023 18:45:14 +0200 Subject: [PATCH 3/4] Syscalls: Fix warnings about unused variables in Release builds --- Source/Tools/FEXLoader/LinuxSyscalls/Syscalls.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Tools/FEXLoader/LinuxSyscalls/Syscalls.cpp b/Source/Tools/FEXLoader/LinuxSyscalls/Syscalls.cpp index 9f7568ba2..011a2cd51 100644 --- a/Source/Tools/FEXLoader/LinuxSyscalls/Syscalls.cpp +++ b/Source/Tools/FEXLoader/LinuxSyscalls/Syscalls.cpp @@ -687,7 +687,7 @@ uint64_t SyscallHandler::HandleBRK(FEXCore::Core::CpuStateFrame *Frame, void *Ad uint64_t RemainingSize = DataSpaceMaxSize - NewSizeAligned; // We have pages we can unmap - auto ok = GuestMunmap(Frame->Thread, reinterpret_cast(DataSpace + NewSizeAligned), RemainingSize); + [[maybe_unused]] auto ok = GuestMunmap(Frame->Thread, reinterpret_cast(DataSpace + NewSizeAligned), RemainingSize); LOGMAN_THROW_A_FMT(ok != -1, "Munmap failed"); DataSpaceMaxSize = NewSizeAligned; @@ -708,7 +708,7 @@ uint64_t SyscallHandler::HandleBRK(FEXCore::Core::CpuStateFrame *Frame, void *Ad if (NewBRK != ~0ULL && NewBRK != (DataSpace + DataSpaceMaxSize)) { // Couldn't allocate that the region we wanted // Can happen if MAP_FIXED_NOREPLACE isn't understood by the kernel - int ok = GuestMunmap(Frame->Thread, reinterpret_cast(NewBRK), AllocateNewSize); + [[maybe_unused]] int ok = GuestMunmap(Frame->Thread, reinterpret_cast(NewBRK), AllocateNewSize); LOGMAN_THROW_A_FMT(ok != -1, "Munmap failed"); NewBRK = ~0ULL; } From aed4dda3e455ec1a3ec2b8833bfc17acd6304c32 Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Thu, 10 Aug 2023 18:45:14 +0200 Subject: [PATCH 4/4] Arm64: Remove unused function --- .../Source/Interface/Core/JIT/Arm64/MemoryOps.cpp | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp index f2288e1e2..be4a61658 100644 --- a/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp +++ b/External/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp @@ -1095,17 +1095,6 @@ FEXCore::ARMEmitter::ExtendedMemOperand Arm64JITCore::GenerateMemOperand(uint8_t FEX_UNREACHABLE; } -static auto ConvertExtendedType(IR::MemOffsetType OffsetType) -> ARMEmitter::ExtendedType { - switch (OffsetType.Val) { - case IR::MEM_OFFSET_SXTX.Val: return ARMEmitter::ExtendedType::SXTX; - case IR::MEM_OFFSET_UXTW.Val: return ARMEmitter::ExtendedType::UXTW; - case IR::MEM_OFFSET_SXTW.Val: return ARMEmitter::ExtendedType::SXTW; - - default: LOGMAN_MSG_A_FMT("Unhandled GenerateMemOperand OffsetType: {}", OffsetType.Val); break; - } - FEX_UNREACHABLE; -} - FEXCore::ARMEmitter::SVEMemOperand Arm64JITCore::GenerateSVEMemOperand(uint8_t AccessSize, FEXCore::ARMEmitter::Register Base, IR::OrderedNodeWrapper Offset,