SPU LLVM: fix xfloat regression

It was an old bug with possible hidden use of deleted instructions.
This commit is contained in:
Nekotekina 2019-05-02 13:36:56 +03:00
commit 2b4da18709

View file

@ -2698,9 +2698,17 @@ class spu_llvm_recompiler : public spu_recompiler_base, public cpu_translator
newphi->addIncoming(xfloat_to_double(ivalue), iblock); newphi->addIncoming(xfloat_to_double(ivalue), iblock);
} }
if (phi->getParent() == m_block->block) for (auto& b : m_blocks)
{ {
m_block->phi[index] = newphi; if (b.second.phi[index] == phi)
{
b.second.phi[index] = newphi;
}
if (b.second.reg[index] == phi)
{
b.second.reg[index] = newphi;
}
} }
reg = newphi; reg = newphi;