Now tracking constant values for most operations.

This will make it easier to enable memory access optimizations and hacks.
Not all operations are updating the constant registers, only those that
are likely to participate in constant value building. Constant values are
cleared on every basic block, though this may be too zealous it prevents
weird fall-through cases.
This commit is contained in:
Ben Vanik
2013-05-30 22:50:32 -07:00
parent 7990146001
commit 78086684c6
5 changed files with 281 additions and 5 deletions

View File

@@ -642,6 +642,8 @@ XEEMITTER(mfspr, 0x7C0002A6, XFX)(X64Emitter& e, X86Compiler& c, InstrDat
e.update_gpr_value(i.XFX.RT, v);
e.clear_constant_gpr_value(i.XFX.RT);
return 0;
}