-
- Downloads
rtlanal.c (tablejump_p): False for returns.
* rtlanal.c (tablejump_p): False for returns. * reorg.c (first_active_target_insn): New static function. (find_end_label): Set JUMP_LABEL for a new returnjump. (optimize_skip, get_jump_flags, rare_destination, mostly_true_jump, get_branch_condition, steal_delay_list_from_target, own_thread_p, fill_simple_delay_slots, follow_jumps, fill_slots_from_thread, fill_eager_delay_slots, relax_delay_slots, make_return_insns, dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs. * jump.c (delete_related_insns): Likewise. (jump_to_label_p): New function. (redirect_target): New static function. (redirect_exp_1): Use it. Adjust to handle ret_rtx in JUMP_LABELS. (redirect_jump_1): Assert that the new label is nonnull. (redirect_jump): Likewise. (redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels. * ifcvt.c (find_if_case_1): Take care when redirecting jumps to the exit block. (dead_or_predicable): Change NEW_DEST arg to DEST_EDGE. All callers changed. Ensure that the right label is passed to redirect_jump. * function.c (emit_return_into_block, thread_prologue_and_epilogue_insns): Ensure new returnjumps have ret_rtx in their JUMP_LABEL. * print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL. * emit-rtl.c (skip_consecutive_labels): Allow the caller to pass ret_rtx as label. * cfglayout.c (fixup_reorder_chain): Use force_nonfallthru_and_redirect rather than force_nonfallthru. (duplicate_insn_chain): Copy JUMP_LABELs for returns. * rtl.h (ANY_RETURN_P): New macro. (jump_to_label_p): Declare. * resource.c (find_dead_or_set_registers): Handle ret_rtx in JUMP_LABELs. (mark_target_live_regs): Likewise. * basic-block.h (force_nonfallthru_and_redirect): Declare. * cfgrtl.c (force_nonfallthru_and_redirect): No longer static. * config/alpha/alpha.c (alpha_tablejump_addr_vec, alpha_tablejump_best_label): Remove functions. * config/alpha/alpha-protos.c (alpha_tablejump_addr_vec, alpha_tablejump_best_label): Remove declarations. * config/sh/sh.c (barrier_align, split_branches): Adjust for ret_rtx in JUMP_LABELs. * config/arm/arm.c (is_jump_table): Likewise. From-SVN: r176881
Showing
- gcc/ChangeLog 46 additions, 0 deletionsgcc/ChangeLog
- gcc/basic-block.h 1 addition, 0 deletionsgcc/basic-block.h
- gcc/cfglayout.c 4 additions, 1 deletiongcc/cfglayout.c
- gcc/cfgrtl.c 1 addition, 1 deletiongcc/cfgrtl.c
- gcc/config/alpha/alpha-protos.h 0 additions, 3 deletionsgcc/config/alpha/alpha-protos.h
- gcc/config/alpha/alpha.c 0 additions, 53 deletionsgcc/config/alpha/alpha.c
- gcc/config/arm/arm.c 1 addition, 2 deletionsgcc/config/arm/arm.c
- gcc/config/sh/sh.c 2 additions, 4 deletionsgcc/config/sh/sh.c
- gcc/emit-rtl.c 5 additions, 2 deletionsgcc/emit-rtl.c
- gcc/function.c 19 additions, 2 deletionsgcc/function.c
- gcc/ifcvt.c 20 additions, 11 deletionsgcc/ifcvt.c
- gcc/jump.c 42 additions, 30 deletionsgcc/jump.c
- gcc/print-rtl.c 8 additions, 3 deletionsgcc/print-rtl.c
- gcc/reorg.c 59 additions, 45 deletionsgcc/reorg.c
- gcc/resource.c 10 additions, 6 deletionsgcc/resource.c
- gcc/rtl.h 4 additions, 0 deletionsgcc/rtl.h
- gcc/rtlanal.c 5 additions, 2 deletionsgcc/rtlanal.c
Loading
Please register or sign in to comment