SPU analyser: fix excessive workload list size

Typo grade; regression
This commit is contained in:
Nekotekina 2019-05-02 23:29:02 +03:00
parent 54dc617f39
commit 6c34d7104e
2 changed files with 5 additions and 5 deletions

View File

@ -1910,8 +1910,6 @@ const std::vector<u32>& spu_recompiler_base::analyse(const be_t<u32>* ls, u32 en
break;
}
}
block.analysis2 = false;
}
// Fixup block predeccessors to point to basic blocks, not last instructions
@ -2020,15 +2018,16 @@ const std::vector<u32>& spu_recompiler_base::analyse(const be_t<u32>* ls, u32 en
{
const u32 addr = workload[wi];
auto& block = m_bbs.at(addr);
block.analysis2 = true;
block.analysed = true;
for (u32 target : block.targets)
{
auto& tb = m_bbs.at(target);
if (!tb.analysis2)
if (!tb.analysed)
{
workload.push_back(target);
tb.analysed = true;
}
}

View File

@ -236,7 +236,8 @@ protected:
// Number of instructions
u16 size = 0;
u8 analysis2 : 1;
// Internal use flag
bool analysed = false;
// Bit mask of the registers modified in the block
std::bitset<s_reg_max> reg_mod{};