aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgrtl.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/cfgrtl.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/cfgrtl.c')
-rw-r--r--gcc/cfgrtl.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 67cab71..813f7ce 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1101,7 +1101,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
{
rtx_code_label *target_label = block_label (target);
rtx_insn *barrier;
- rtx label;
+ rtx_insn *label;
rtx_jump_table_data *table;
emit_jump_insn_after_noloc (targetm.gen_jump (target_label), insn);
@@ -1773,7 +1773,7 @@ rtl_tidy_fallthru_edge (edge e)
&& (any_uncondjump_p (q)
|| single_succ_p (b)))
{
- rtx label;
+ rtx_insn *label;
rtx_jump_table_data *table;
if (tablejump_p (q, &label, &table))
@@ -1786,8 +1786,7 @@ rtl_tidy_fallthru_edge (edge e)
PUT_CODE (label, NOTE);
NOTE_KIND (label) = NOTE_INSN_DELETED_LABEL;
NOTE_DELETED_LABEL_NAME (label) = name;
- rtx_insn *lab = safe_as_a <rtx_insn *> (label);
- reorder_insns (lab, lab, PREV_INSN (q));
+ reorder_insns (label, label, PREV_INSN (q));
delete_insn (table);
}