mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-01 01:40:21 +02:00
Remove a wrong optimization of callee save registers
This commit is contained in:
parent
2d3529ddb5
commit
c95a356c1a
2 changed files with 7 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-11-24 Paulo Andrade <pcpa@gnu.org>
|
||||
|
||||
* lib/lightning.c: Remove an optimization to calee save
|
||||
registers that may incorrectly remove a jit_movr under
|
||||
special conditions.
|
||||
|
||||
2014-11-20 Paulo Andrade <pcpa@gnu.org>
|
||||
|
||||
* include/lightning/jit_ppc.h, lib/jit_ppc-cpu.c,
|
||||
|
|
|
@ -2855,12 +2855,12 @@ _simplify(jit_state_t *_jit)
|
|||
jit_node_t *next;
|
||||
jit_int32_t info;
|
||||
jit_int32_t regno;
|
||||
jit_int32_t offset;
|
||||
|
||||
for (prev = NULL, node = _jitc->head; node; prev = node, node = next) {
|
||||
next = node->next;
|
||||
switch (node->code) {
|
||||
case jit_code_label: case jit_code_prolog:
|
||||
case jit_code_callr: case jit_code_calli:
|
||||
reset:
|
||||
memset(_jitc->gen, 0, sizeof(jit_int32_t) * _jitc->reglen);
|
||||
memset(_jitc->values, 0, sizeof(jit_value_t) * _jitc->reglen);
|
||||
|
@ -2936,14 +2936,6 @@ _simplify(jit_state_t *_jit)
|
|||
if (simplify_stxi(prev, node))
|
||||
simplify_spill(node = prev, regno);
|
||||
break;
|
||||
case jit_code_callr: case jit_code_calli:
|
||||
for (offset = 0; offset < _jitc->reglen; offset++) {
|
||||
if (!(jit_class(_rvs[offset].spec) & jit_class_sav)) {
|
||||
_jitc->values[offset].kind = 0;
|
||||
++_jitc->gen[offset];
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
info = jit_classify(node->code);
|
||||
if (info & jit_cc_a0_jmp)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue