diff options
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r-- | gcc/ifcvt.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 4ed1494416e..842eb547383 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -612,7 +612,7 @@ noce_try_store_flag (if_info) seq = get_insns (); end_sequence (); - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, INSN_SCOPE (if_info->insn_a)); return TRUE; } @@ -747,7 +747,7 @@ noce_try_store_flag_constants (if_info) if (seq_contains_jump (seq)) return FALSE; - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, INSN_SCOPE (if_info->insn_a)); return TRUE; } @@ -807,7 +807,8 @@ noce_try_store_flag_inc (if_info) if (seq_contains_jump (seq)) return FALSE; - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, + INSN_SCOPE (if_info->insn_a)); return TRUE; } @@ -859,7 +860,8 @@ noce_try_store_flag_mask (if_info) if (seq_contains_jump (seq)) return FALSE; - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, + INSN_SCOPE (if_info->insn_a)); return TRUE; } @@ -954,7 +956,8 @@ noce_try_cmove (if_info) seq = get_insns (); end_sequence (); - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, + INSN_SCOPE (if_info->insn_a)); return TRUE; } else @@ -1116,7 +1119,7 @@ noce_try_cmove_arith (if_info) tmp = get_insns (); end_sequence (); - emit_insns_before (tmp, if_info->jump); + emit_insns_before_scope (tmp, if_info->jump, INSN_SCOPE (if_info->insn_a)); return TRUE; end_seq_and_fail: @@ -1368,7 +1371,7 @@ noce_try_minmax (if_info) if (seq_contains_jump (seq)) return FALSE; - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, INSN_SCOPE (if_info->insn_a)); if_info->cond = cond; if_info->cond_earliest = earliest; @@ -1486,7 +1489,7 @@ noce_try_abs (if_info) if (seq_contains_jump (seq)) return FALSE; - emit_insns_before (seq, if_info->jump); + emit_insns_before_scope (seq, if_info->jump, INSN_SCOPE (if_info->insn_a)); if_info->cond = cond; if_info->cond_earliest = earliest; @@ -1758,7 +1761,7 @@ noce_process_if_block (test_bb, then_bb, else_bb, join_bb) insn_b = gen_sequence (); end_sequence (); - emit_insn_after (insn_b, test_bb->end); + emit_insn_after_scope (insn_b, test_bb->end, INSN_SCOPE (insn_a)); } /* Merge the blocks! */ @@ -2126,7 +2129,7 @@ find_cond_trap (test_bb, then_edge, else_edge) return FALSE; /* Emit the new insns before cond_earliest. */ - emit_insn_before (seq, cond_earliest); + emit_insn_before_scope (seq, cond_earliest, INSN_SCOPE (trap)); /* Delete the trap block if possible. */ remove_edge (trap_bb == then_bb ? then_edge : else_edge); |