diff --git a/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp b/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp index 53dc0df200..e08139f8c5 100644 --- a/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp @@ -6144,8 +6144,6 @@ spu_program spu_recompiler_base::analyse(const be_t* ls, u32 entry_point, s } } - u32 reg_pos = SPU_LS_SIZE; - auto org = reduced_loop->get_reg(op_rt); u32 reg_first = s_reg_max; @@ -6773,8 +6771,6 @@ spu_program spu_recompiler_base::analyse(const be_t* ls, u32 entry_point, s break; } - u32 cond_val_incr = static_cast(reg_org->IMM); - if (reg_org->mod1_type == spu_itype::AI || reg_org->mod1_type == spu_itype::AHI) { reduced_loop->cond_val_incr_is_immediate = true; @@ -6986,7 +6982,6 @@ spu_program spu_recompiler_base::analyse(const be_t* ls, u32 entry_point, s // The loop dictator is the register that is not the argument const u32 loop_arg_reg = reg_index == op_ra ? op_rb : op_ra; - const u32 loop_dict_reg = reg_index == op_ra ? op_ra : op_rb; reduced_loop->cond_val_is_immediate = false; if (found_loop_argument_for_dictator) @@ -8639,8 +8634,6 @@ spu_program spu_recompiler_base::analyse(const be_t* ls, u32 entry_point, s if (inst_attr attr = m_inst_attrs[(loop_pc - entry_point) / 4]; attr == inst_attr::none) { - const u64 hash = loop_pc / 4 + read_from_ptr>(func_hash.data()); - add_pattern(inst_attr::reduced_loop, loop_pc - result.entry_point, 0, std::make_shared(pattern)); std::string regs = "{"; diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index 580160fe75..b6d0791ab9 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -2617,8 +2617,6 @@ public: { if (auto init_val = reduced_loop_init_regs[i]) { - llvm::Type* type = g_cfg.core.spu_xfloat_accuracy == xfloat_accuracy::accurate && bb.reg_maybe_xf[i] ? get_type() : get_reg_type(i); - const auto _phi = m_ir->CreatePHI(init_val->getType(), 2, fmt::format("reduced_0x%05x_r%u", baddr, i)); _phi->addIncoming(init_val, prev_insert_block); diff --git a/rpcs3/Emu/Cell/SPURecompiler.h b/rpcs3/Emu/Cell/SPURecompiler.h index cb5678f72b..fc74bcec90 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.h +++ b/rpcs3/Emu/Cell/SPURecompiler.h @@ -540,13 +540,11 @@ public: { case spu_itype::XSBH: { - const auto prev_type = modified == 1 ? mod1_type : mod2_type; is_ok &= mod1_type == spu_itype::CEQB || mod1_type == spu_itype::CEQBI || mod1_type == spu_itype::CGTB || mod1_type == spu_itype::CGTBI || mod1_type == spu_itype::CLGTB || mod1_type == spu_itype::CLGTBI; break; } case spu_itype::ANDI: { - const auto prev_type = modified == 1 ? mod1_type : mod2_type; is_ok &= mod1_type == spu_itype::CEQB || mod1_type == spu_itype::CEQBI || mod1_type == spu_itype::CGTB || mod1_type == spu_itype::CGTBI || mod1_type == spu_itype::CLGTB || mod1_type == spu_itype::CLGTBI; is_ok &= (spu_opcode_t{imm}.si10 & 0xff) == 0xff; break;