diff options
author | Giovanni Bajo <giovannibajo@gcc.gnu.org> | 2004-09-10 09:22:28 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2004-09-10 09:22:28 +0000 |
commit | 1c43d3ca812e7165d7a522d9380c394ba6d8ebd5 (patch) | |
tree | 53321caf2b610be1206b5d38f653d831c8fd72e4 /gcc/lcm.c | |
parent | b829f3fac7e1c736df642ace45589e8d24ae2731 (diff) | |
download | gcc-1c43d3ca812e7165d7a522d9380c394ba6d8ebd5.zip gcc-1c43d3ca812e7165d7a522d9380c394ba6d8ebd5.tar.gz gcc-1c43d3ca812e7165d7a522d9380c394ba6d8ebd5.tar.bz2 |
lambda-mat.c (lambda_matrix_inverse_hard): Use gcc_assert and gcc_unreachable instead of abort.
* lambda-mat.c (lambda_matrix_inverse_hard): Use gcc_assert
and gcc_unreachable instead of abort.
* lambda.h (lambda_vector_min_nz): Likewise.
* langhooks.c lhd_set_decl_assembler_name, lhd_can_use_bit_fields_p,
lhd_incomplete_type_error, lhd_expand_expr, lhd_types_compatible_p,
lhd_gimplify_expr): Likewise.
* lcm.c (optimize_mode_switching): Likewise.
* local-alloc.c (update_equiv_regs, block_alloc, find_free_reg):
Likewise.
* loop-doloop.c (doloop_modify): Likewise.
* loop-invariant.c (record_use): Likewise.
* loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze, get_iv_value,
canon_condition, simplify_using_condition,
simplify_using_initial_values, shorten_into_mode,
canonicalize_iv_subregs, iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_and_peel_loops, peel_loop_completely,
unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
peel_loop_simple, unroll_loop_stupid): Likewise.
* loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
unswitch_loop): Likewise.
* loop.c (gen_prefetch, loop_optimize, rtx_equal_for_loop_p,
move_movables, replace_call_address, find_and_verify_loops,
rtx_equal_for_prefetch_p, record_giv, general_induction_var,
simplify_giv_expr, check_ext_dependent_givs, try_copy_prop,
loop_giv_dump): Likewise.
* loop.h (INSN_LUID): Likewise.
* modulo-sched.c (normalize_sched_times, generate_prolog_epilog,
sms_schedule, check_nodes_order): Likewise.
* optabs.c (gen_conditional, add_equal_note, expand_simple_binop,
expand_twoval_unop, expand_twoval_binop, expand_twoval_binop_libfunc,
expand_simple_unop, emit_no_conflict_block, prepare_cmp_insn,
emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns,
prepare_float_lib_cmp, gen_add2_insn, have_add2_insn, gen_sub2_insn,
have_sub2_insn, expand_float, expand_fix, debug_optab_libfuncs):
Likewise.
* opts.c (common_handle_option): Likewise.
* params.c (set_param_value): Likewise.
* passes.c (open_dump_file, rest_of_handle_final): Likewise.
* postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,hash_scan_set,
reg_set_between_after_reload_p, reg_used_between_after_reload_p,
get_avail_load_store_reg, eliminate_partially_redundant_load):
Likewise.
* postreload.c (reload_cse_simplify_set, reload_combine_note_use):
Likewise.
* predict.c (tree_predicted_by_p, expected_value_to_br_prob,
propagate_freq, expensive_function_p): Likewise.
* pretty-print.c (pp_base_format_text)
* profile.c (instrument_edges, instrument_values,
compute_branch_probabilities, branch_prob, union_groups,
end_branch_prob, tree_register_profile_hooks): Likewise.
From-SVN: r87285
Diffstat (limited to 'gcc/lcm.c')
-rw-r--r-- | gcc/lcm.c | 32 |
1 files changed, 16 insertions, 16 deletions
@@ -1029,8 +1029,7 @@ optimize_mode_switching (FILE *file) { regset live_at_end = eg->src->global_live_at_end; - if (pre_exit) - abort (); + gcc_assert (!pre_exit); pre_exit = split_edge (eg); COPY_REG_SET (pre_exit->global_live_at_start, live_at_end); COPY_REG_SET (pre_exit->global_live_at_end, live_at_end); @@ -1208,21 +1207,22 @@ optimize_mode_switching (FILE *file) emited = true; if (JUMP_P (BB_END (src_bb))) emit_insn_before (mode_set, BB_END (src_bb)); - /* It doesn't make sense to switch to normal mode - after a CALL_INSN, so we're going to abort if we - find one. The cases in which a CALL_INSN may - have an abnormal edge are sibcalls and EH edges. - In the case of sibcalls, the dest basic-block is - the EXIT_BLOCK, that runs in normal mode; it is - assumed that a sibcall insn requires normal mode - itself, so no mode switch would be required after - the call (it wouldn't make sense, anyway). In - the case of EH edges, EH entry points also start - in normal mode, so a similar reasoning applies. */ - else if (NONJUMP_INSN_P (BB_END (src_bb))) - emit_insn_after (mode_set, BB_END (src_bb)); else - abort (); + { + /* It doesn't make sense to switch to normal mode + after a CALL_INSN, so we're going to abort if we + find one. The cases in which a CALL_INSN may + have an abnormal edge are sibcalls and EH edges. + In the case of sibcalls, the dest basic-block is + the EXIT_BLOCK, that runs in normal mode; it is + assumed that a sibcall insn requires normal mode + itself, so no mode switch would be required after + the call (it wouldn't make sense, anyway). In + the case of EH edges, EH entry points also start + in normal mode, so a similar reasoning applies. */ + gcc_assert (NONJUMP_INSN_P (BB_END (src_bb))); + emit_insn_after (mode_set, BB_END (src_bb)); + } bb_info[j][src_bb->index].computing = mode; RESET_BIT (transp[src_bb->index], j); } |