Optimized GetScalarNZM, add limit to how far it can recurse. Add rlwinm elimination rule

This commit is contained in:
chss95cs@gmail.com
2022-07-14 14:32:14 -07:00
parent 1d00372e6b
commit 71c5f8f0fa
4 changed files with 341 additions and 90 deletions

View File

@@ -8,6 +8,7 @@
*/
#include "xenia/cpu/hir/value.h"
#include "xenia/cpu/hir/instr.h"
#include <cmath>
#include <cstdlib>
@@ -1680,7 +1681,13 @@ bool Value::CompareInt64(Opcode opcode, Value* a, Value* b) {
return false;
}
}
hir::Instr* Value::GetDefSkipAssigns() {
if (def) {
return def->GetDestDefSkipAssigns();
} else {
return nullptr;
}
}
} // namespace hir
} // namespace cpu
} // namespace xe