Fix IRTEMP clash bug. Add more cases to the constant propagation pass.

This commit is contained in:
Henrik Rydgard committed 2016-05-08 10:36:37 +02:00
1 parent aae32bd929
commit 14df39d7c9
9 files changed
+94 -29

No files matched your search

+10 -1
View File
@@ -26,10 +26,19 @@ IRRegCache::IRRegCache(IRWriter *ir) : ir_(ir) {
void IRRegCache::FlushAll() {
for (int i = 0; i < TOTAL_MAPPABLE_MIPSREGS; i++) {
Flush(i);
if (i < IRTEMP_0)
Flush(i);
}
}
void IRRegCache::MapIn(int rd) {
Flush(rd);
}
void IRRegCache::MapDirty(int rd) {
Discard(rd);
}
void IRRegCache::MapInIn(int rs, int rt) {
Flush(rs);
Flush(rt);