mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-01-31 12:31:45 +01:00
SPU analyser: fix excessive workload list size
Typo grade; regression
This commit is contained in:
parent
54dc617f39
commit
6c34d7104e
@ -1910,8 +1910,6 @@ const std::vector<u32>& spu_recompiler_base::analyse(const be_t<u32>* ls, u32 en
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
block.analysis2 = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fixup block predeccessors to point to basic blocks, not last instructions
|
// 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];
|
const u32 addr = workload[wi];
|
||||||
auto& block = m_bbs.at(addr);
|
auto& block = m_bbs.at(addr);
|
||||||
block.analysis2 = true;
|
block.analysed = true;
|
||||||
|
|
||||||
for (u32 target : block.targets)
|
for (u32 target : block.targets)
|
||||||
{
|
{
|
||||||
auto& tb = m_bbs.at(target);
|
auto& tb = m_bbs.at(target);
|
||||||
|
|
||||||
if (!tb.analysis2)
|
if (!tb.analysed)
|
||||||
{
|
{
|
||||||
workload.push_back(target);
|
workload.push_back(target);
|
||||||
|
tb.analysed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +236,8 @@ protected:
|
|||||||
// Number of instructions
|
// Number of instructions
|
||||||
u16 size = 0;
|
u16 size = 0;
|
||||||
|
|
||||||
u8 analysis2 : 1;
|
// Internal use flag
|
||||||
|
bool analysed = false;
|
||||||
|
|
||||||
// Bit mask of the registers modified in the block
|
// Bit mask of the registers modified in the block
|
||||||
std::bitset<s_reg_max> reg_mod{};
|
std::bitset<s_reg_max> reg_mod{};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user