Detect identical flush mode calls and don't print them.

This commit is contained in:
Skyth
2024-09-26 17:24:04 +03:00
parent 7fa7ff161f
commit dcc772c184
4 changed files with 122 additions and 72 deletions

View File

@@ -34,6 +34,13 @@ struct RecompilerConfig
bool nonVolatileRegistersAsLocalVariables = false;
};
enum class CSRState
{
Unknown,
FPU,
VMX
};
struct Recompiler
{
Image image;
@@ -61,12 +68,14 @@ struct Recompiler
out += '\n';
}
// TODO: make a RecompileArgs struct instead this is getting messy
bool Recompile(
const Function& fn,
uint32_t base,
const ppc_insn& insn,
std::unordered_map<size_t, SwitchTable>::iterator& switchTable,
RecompilerLocalVariables& localVariables);
RecompilerLocalVariables& localVariables,
CSRState& csrState);
bool Recompile(const Function& fn);