ifcvt.c (noce_try_store_flag, [...]): Insert new code before JUMP, not EARLIEST.

* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
        noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
        noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
        code before JUMP, not EARLIEST.

From-SVN: r53119
This commit is contained in:
Richard Henderson 2002-05-03 13:24:01 -07:00 committed by Richard Henderson
parent 2c5a72e585
commit f2cacf9644
2 changed files with 17 additions and 9 deletions

View File

@ -1,3 +1,11 @@
2002-05-03 Richard Henderson <rth@redhat.com>
PR opt/6534
* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
code before JUMP, not EARLIEST.
2002-05-03 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/6489

View File

@ -622,7 +622,7 @@ noce_try_store_flag (if_info)
seq = get_insns ();
end_sequence ();
emit_insns_before (seq, if_info->cond_earliest);
emit_insns_before (seq, if_info->jump);
return TRUE;
}
@ -757,7 +757,7 @@ noce_try_store_flag_constants (if_info)
if (seq_contains_jump (seq))
return FALSE;
emit_insns_before (seq, if_info->cond_earliest);
emit_insns_before (seq, if_info->jump);
return TRUE;
}
@ -817,7 +817,7 @@ noce_try_store_flag_inc (if_info)
if (seq_contains_jump (seq))
return FALSE;
emit_insns_before (seq, if_info->cond_earliest);
emit_insns_before (seq, if_info->jump);
return TRUE;
}
@ -869,7 +869,7 @@ noce_try_store_flag_mask (if_info)
if (seq_contains_jump (seq))
return FALSE;
emit_insns_before (seq, if_info->cond_earliest);
emit_insns_before (seq, if_info->jump);
return TRUE;
}
@ -964,7 +964,7 @@ noce_try_cmove (if_info)
seq = get_insns ();
end_sequence ();
emit_insns_before (seq, if_info->cond_earliest);
emit_insns_before (seq, if_info->jump);
return TRUE;
}
else
@ -1126,7 +1126,7 @@ noce_try_cmove_arith (if_info)
tmp = get_insns ();
end_sequence ();
emit_insns_before (tmp, if_info->cond_earliest);
emit_insns_before (tmp, if_info->jump);
return TRUE;
end_seq_and_fail:
@ -1379,7 +1379,7 @@ noce_try_minmax (if_info)
if (seq_contains_jump (seq))
return FALSE;
emit_insns_before (seq, earliest);
emit_insns_before (seq, if_info->jump);
if_info->cond = cond;
if_info->cond_earliest = earliest;
@ -1497,7 +1497,7 @@ noce_try_abs (if_info)
if (seq_contains_jump (seq))
return FALSE;
emit_insns_before (seq, earliest);
emit_insns_before (seq, if_info->jump);
if_info->cond = cond;
if_info->cond_earliest = earliest;
@ -1785,7 +1785,7 @@ noce_process_if_block (test_bb, then_bb, else_bb, join_bb)
if (insn_b && else_bb)
delete_insn (insn_b);
/* The new insns will have been inserted before cond_earliest. We should
/* The new insns will have been inserted just before the jump. We should
be able to remove the jump with impunity, but the condition itself may
have been modified by gcse to be shared across basic blocks. */
delete_insn (jump);