From 6c32c32ca978b7835374d2393253178fd7ed1db3 Mon Sep 17 00:00:00 2001 From: Aleksey Demakov Date: Sat, 26 May 2007 13:47:31 +0000 Subject: [PATCH] remove incorrect optimization in jit_insn_store() --- ChangeLog | 6 ++++++ jit/jit-insn.c | 9 --------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index ccfc53f..9cd1b46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-05-26 Aleksey Demakov + + * jit/jit-insn.c (jit_insn_store): remove incorrect optimization + that eliminates intermediate value without knowledge of its later + use. + 2007-04-04 Aleksey Demakov * jit/jit-reg-alloc.c (commit_output_value): fix compilation for diff --git a/jit/jit-insn.c b/jit/jit-insn.c index a81a5eb..ea036d1 100644 --- a/jit/jit-insn.c +++ b/jit/jit-insn.c @@ -1442,15 +1442,6 @@ int jit_insn_store(jit_function_t func, jit_value_t dest, jit_value_t value) { return 0; } - insn = _jit_block_get_last(func->builder->current_block); - if(value->is_temporary && insn && insn->dest == value && - insn->value1 == dest) - { - /* Special case: we can move the destination value back into - the previous instruction, to avoid a redundant copy */ - insn->dest = dest; - return 1; - } insn = _jit_block_add_insn(func->builder->current_block); if(!insn) { -- 2.47.3