SPU LLVM: Initial precompilation of tail-calls

This commit is contained in:
Eladash 2023-09-01 19:38:06 +03:00 committed by Elad Ashkenazi
parent a9810ccb72
commit a626ccfcad
4 changed files with 124 additions and 15 deletions

View file

@ -4042,8 +4042,18 @@ bool spu_thread::is_exec_code(u32 addr, std::span<const u8> ls_ptr, u32 base_add
return false;
}
if (type == spu_itype::STOP && op.rb)
{
return false;
}
if (type & spu_itype::branch)
{
if (type == spu_itype::BR && op.rt && op.rt != 127u)
{
return false;
}
const auto results = op_branch_targets(addr, spu_opcode_t{op});
if (results[0] == umax)