notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #835 from pcercuei/misc-fixes
[pcsx_rearmed.git]
/
deps
/
lightrec
/
optimizer.c
diff --git
a/deps/lightrec/optimizer.c
b/deps/lightrec/optimizer.c
index
199ca40
..
cb9ba5b
100644
(file)
--- a/
deps/lightrec/optimizer.c
+++ b/
deps/lightrec/optimizer.c
@@
-642,7
+642,7
@@
lightrec_remove_useless_lui(struct block *block, unsigned int offset,
return;
}
return;
}
- if (op->i.imm != 0 || op->i.rt == 0 ||
offset == block->nb_ops - 1
)
+ if (op->i.imm != 0 || op->i.rt == 0 ||
is_delay_slot(list, offset)
)
return;
reader = find_next_reader(list, offset + 1, op->i.rt);
return;
reader = find_next_reader(list, offset + 1, op->i.rt);
@@
-1002,10
+1002,10
@@
static int lightrec_transform_ops(struct lightrec_state *state, struct block *bl
break;
case OP_LUI:
break;
case OP_LUI:
- if (
i == 0 || !has_delay_slot(list[i - 1].c
))
+ if (
!is_delay_slot(list, i
))
lightrec_modify_lui(block, i);
lightrec_remove_useless_lui(block, i, v);
lightrec_modify_lui(block, i);
lightrec_remove_useless_lui(block, i, v);
- if (
i == 0 || !has_delay_slot(list[i - 1].c
))
+ if (
!is_delay_slot(list, i
))
lightrec_lui_to_movi(block, i);
break;
lightrec_lui_to_movi(block, i);
break;
@@
-2099,7
+2099,7
@@
static int lightrec_flag_mults_divs(struct lightrec_state *state, struct block *
list->flags &= ~(LIGHTREC_NO_LO | LIGHTREC_NO_HI);
}
list->flags &= ~(LIGHTREC_NO_LO | LIGHTREC_NO_HI);
}
- if (reg_lo > 0 && reg_lo != REG_LO) {
+ if (
0/* Broken */ &&
reg_lo > 0 && reg_lo != REG_LO) {
pr_debug("Found register %s to hold LO (rs = %u, rt = %u)\n",
lightrec_reg_name(reg_lo), list->r.rs, list->r.rt);
pr_debug("Found register %s to hold LO (rs = %u, rt = %u)\n",
lightrec_reg_name(reg_lo), list->r.rs, list->r.rt);
@@
-2109,7
+2109,7
@@
static int lightrec_flag_mults_divs(struct lightrec_state *state, struct block *
list->r.rd = 0;
}
list->r.rd = 0;
}
- if (reg_hi > 0 && reg_hi != REG_HI) {
+ if (
0/* Broken */ &&
reg_hi > 0 && reg_hi != REG_HI) {
pr_debug("Found register %s to hold HI (rs = %u, rt = %u)\n",
lightrec_reg_name(reg_hi), list->r.rs, list->r.rt);
pr_debug("Found register %s to hold HI (rs = %u, rt = %u)\n",
lightrec_reg_name(reg_hi), list->r.rs, list->r.rt);