diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2016-09-22 13:16:17 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2016-09-22 13:16:17 +0000 |
commit | c9b0a22777c783ad538c7ac05b0e95acaf1e32f3 (patch) | |
tree | 92b31a63603a695e7016ba3e11fd65002b118de2 /gcc/reorg.c | |
parent | 82082f658e42c072e780b50744bbf93e8b1ee949 (diff) | |
download | gcc-c9b0a22777c783ad538c7ac05b0e95acaf1e32f3.zip gcc-c9b0a22777c783ad538c7ac05b0e95acaf1e32f3.tar.gz gcc-c9b0a22777c783ad538c7ac05b0e95acaf1e32f3.tar.bz2 |
make next/prev _nonnote_insn take rtx_insn *
gcc/ChangeLog:
2016-09-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* emit-rtl.c (next_nonnote_insn): Change argument type to
rtx_insn *.
(prev_nonnote_insn): Likewise.
* jump.c (reversed_comparison_code_parts): Likewise.
(reversed_comparison): Likewise.
* rtl.h: Adjust prototypes.
* config/arc/arc.md: Adjust.
* cse.c (find_comparison_args): Likewise.
* reorg.c (redundant_insn): Change return type to rtx_insn *.
(fix_reg_dead_note): Change argument type to rtx_insn *.
(delete_prior_computation): Likewise.
(delete_computation): Likewise.
(fill_slots_from_thread): Adjust.
(relax_delay_slots): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
(simplify_relational_operation_1): Likewise.
(simplify_ternary_operation): Likewise.
From-SVN: r240357
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index c58d608..bc05930 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -219,12 +219,12 @@ static void steal_delay_list_from_fallthrough (rtx_insn *, rtx, rtx_sequence *, struct resources *, int, int *, int *); static void try_merge_delay_insns (rtx_insn *, rtx_insn *); -static rtx redundant_insn (rtx, rtx_insn *, const vec<rtx_insn *> &); +static rtx_insn *redundant_insn (rtx, rtx_insn *, const vec<rtx_insn *> &); static int own_thread_p (rtx, rtx, int); static void update_block (rtx_insn *, rtx); static int reorg_redirect_jump (rtx_jump_insn *, rtx); static void update_reg_dead_notes (rtx_insn *, rtx_insn *); -static void fix_reg_dead_note (rtx, rtx); +static void fix_reg_dead_note (rtx_insn *, rtx); static void update_reg_unused_notes (rtx, rtx); static void fill_simple_delay_slots (int); static void fill_slots_from_thread (rtx_jump_insn *, rtx, rtx, rtx, @@ -1449,7 +1449,7 @@ try_merge_delay_insns (rtx_insn *insn, rtx_insn *thread) redundant insn, but the cost of splitting seems greater than the possible gain in rare cases. */ -static rtx +static rtx_insn * redundant_insn (rtx insn, rtx_insn *target, const vec<rtx_insn *> &delay_list) { rtx target_main = target; @@ -1606,7 +1606,7 @@ redundant_insn (rtx insn, rtx_insn *target, const vec<rtx_insn *> &delay_list) resource requirements as we go. */ for (i = seq->len () - 1; i > 0; i--) { - rtx candidate = seq->element (i); + rtx_insn *candidate = seq->insn (i); /* If an insn will be annulled if the branch is false, it isn't considered as a possible duplicate insn. */ @@ -1773,7 +1773,7 @@ update_reg_dead_notes (rtx_insn *insn, rtx_insn *delayed_insn) confused into thinking the register is dead. */ static void -fix_reg_dead_note (rtx start_insn, rtx stop_insn) +fix_reg_dead_note (rtx_insn *start_insn, rtx stop_insn) { rtx link, next; rtx_insn *p; @@ -2417,7 +2417,7 @@ fill_slots_from_thread (rtx_jump_insn *insn, rtx condition, && (! own_thread || ! sets_cc0_p (pat))))) && ! can_throw_internal (trial)) { - rtx prior_insn; + rtx_insn *prior_insn; /* If TRIAL is redundant with some insn before INSN, we don't actually need to add it to the delay list; we can merely pretend @@ -2904,16 +2904,16 @@ fill_eager_delay_slots (void) } } -static void delete_computation (rtx insn); +static void delete_computation (rtx_insn *insn); /* Recursively delete prior insns that compute the value (used only by INSN which the caller is deleting) stored in the register mentioned by NOTE which is a REG_DEAD note associated with INSN. */ static void -delete_prior_computation (rtx note, rtx insn) +delete_prior_computation (rtx note, rtx_insn *insn) { - rtx our_prev; + rtx_insn *our_prev; rtx reg = XEXP (note, 0); for (our_prev = prev_nonnote_insn (insn); @@ -3025,7 +3025,7 @@ delete_prior_computation (rtx note, rtx insn) delete the insn that set it. */ static void -delete_computation (rtx insn) +delete_computation (rtx_insn *insn) { rtx note, next; @@ -3367,7 +3367,7 @@ relax_delay_slots (rtx_insn *first) if (! INSN_ANNULLED_BRANCH_P (delay_jump_insn) && ! condjump_in_parallel_p (delay_jump_insn) && prev_active_insn (target_label) == insn - && ! BARRIER_P (prev_nonnote_insn (target_label)) + && ! BARRIER_P (prev_nonnote_insn (as_a<rtx_insn *> (target_label))) /* If the last insn in the delay slot sets CC0 for some insn, various code assumes that it is in a delay slot. We could put it back where it belonged and delete the register notes, |