aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2016-10-21 12:33:01 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2016-10-21 12:33:01 +0000
commitdfe08bc4ef2810b98e0ce8ffca4155ad304e0429 (patch)
tree7505bb0ce717bce964eebacad7985b4354429147 /gcc/cfgcleanup.c
parent04a121a757f20a4807d47e1d0c7418145b147d69 (diff)
downloadgcc-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.c8
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)