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:
parent
2c5a72e585
commit
f2cacf9644
|
@ -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
|
||||
|
|
18
gcc/ifcvt.c
18
gcc/ifcvt.c
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue