From 2fd384ae953cdf112d4bb4d3dcd39bd9abb8ebb8 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Fri, 9 Nov 2018 15:25:10 +0300 Subject: [PATCH] SPU LLVM: check state in every callable chunk It's often redundant but may be necessary --- rpcs3/Emu/Cell/SPURecompiler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index 9eafdcb7a8..122fd275ec 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -2634,6 +2634,12 @@ public: } } + // State check at the beginning of the chunk + if (bi == 0 && g_cfg.core.spu_block_size != spu_block_size_type::safe) + { + check_state(baddr); + } + // Emit instructions for (m_pos = baddr; m_pos >= start && m_pos < end && !m_ir->GetInsertBlock()->getTerminator(); m_pos += 4) {