PPCAnalyst: Remove CanSwapAdjacentOps's OPCD check

Other than the CR instructions, which we now analyze properly,
all the covered instructions are not integer operations and also
have either FL_ENDBLOCK or FL_EVIL set, so there are two other
checks in CanSwapAdjacentOps that will reject them.
This commit is contained in:
JosJuice 2021-06-29 15:41:13 +02:00
parent 96d622bb61
commit f494a3d9e8

View File

@ -229,17 +229,6 @@ bool PPCAnalyzer::CanSwapAdjacentOps(const CodeOp& a, const CodeOp& b) const
if ((a_flags & (FL_SET_CA | FL_READ_CA)) && (b_flags & (FL_SET_CA | FL_READ_CA)))
return false;
switch (b.inst.OPCD)
{
case 16:
case 18:
// branches. Do not swap.
case 17: // sc
case 46: // lmw
case 19: // table19 - lots of tricky stuff
return false;
}
// For now, only integer ops are acceptable.
if (b_info->type != OpType::Integer)
return false;