diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2016-10-21 12:33:01 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2016-10-21 12:33:01 +0000 |
commit | dfe08bc4ef2810b98e0ce8ffca4155ad304e0429 (patch) | |
tree | 7505bb0ce717bce964eebacad7985b4354429147 /gcc/cfgcleanup.c | |
parent | 04a121a757f20a4807d47e1d0c7418145b147d69 (diff) | |
download | gcc-dfe08bc4ef2810b98e0ce8ffca4155ad304e0429.zip gcc-dfe08bc4ef2810b98e0ce8ffca4155ad304e0429.tar.gz gcc-dfe08bc4ef2810b98e0ce8ffca4155ad304e0429.tar.bz2 |
make tablejump_p return the label as a rtx_insn *
gcc/ChangeLog:
2016-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
(outgoing_edges_match): Likewise.
(try_crossjump_to_edge): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
(rtl_tidy_fallthru_edge): Likewise.
* rtl.h (tablejump_p): Adjust prototype.
* rtlanal.c (tablejump_p): Return the label as a rtx_insn *.
From-SVN: r241402
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 1c9691d..c67b4d7 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -688,7 +688,7 @@ static void merge_blocks_move_successor_nojumps (basic_block a, basic_block b) { rtx_insn *barrier, *real_b_end; - rtx label; + rtx_insn *label; rtx_jump_table_data *table; /* If we are partitioning hot/cold basic blocks, we don't want to @@ -709,7 +709,7 @@ merge_blocks_move_successor_nojumps (basic_block a, basic_block b) /* If there is a jump table following block B temporarily add the jump table to block B so that it will also be moved to the correct location. */ if (tablejump_p (BB_END (b), &label, &table) - && prev_active_insn (as_a<rtx_insn *> (label)) == BB_END (b)) + && prev_active_insn (label) == BB_END (b)) { BB_END (b) = table; } @@ -1697,7 +1697,7 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2) /* Check whether there are tablejumps in the end of BB1 and BB2. Return true if they are identical. */ { - rtx label1, label2; + rtx_insn *label1, *label2; rtx_jump_table_data *table1, *table2; if (tablejump_p (BB_END (bb1), &label1, &table1) @@ -1994,7 +1994,7 @@ try_crossjump_to_edge (int mode, edge e1, edge e2, they have been already compared for equivalence in outgoing_edges_match () so replace the references to TABLE1 by references to TABLE2. */ { - rtx label1, label2; + rtx_insn *label1, *label2; rtx_jump_table_data *table1, *table2; if (tablejump_p (BB_END (osrc1), &label1, &table1) |