diff options
author | David Malcolm <dmalcolm@redhat.com> | 2014-08-19 19:19:13 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2014-08-19 19:19:13 +0000 |
commit | 8942ee0fbfe5361a71c51401933efd1938725dec (patch) | |
tree | 25dcbcad495942e5f4d89b95ad979a56367bd84f /gcc/jump.c | |
parent | 04159acfd818cbc29a9d12dfa2e83716c106f2c7 (diff) | |
download | gcc-8942ee0fbfe5361a71c51401933efd1938725dec.zip gcc-8942ee0fbfe5361a71c51401933efd1938725dec.tar.gz gcc-8942ee0fbfe5361a71c51401933efd1938725dec.tar.bz2 |
Make tablejump_p accept a rtx_jump_table_data **
2014-08-19 David Malcolm <dmalcolm@redhat.com>
* rtl.h (tablejump_p): Strengthen third param from rtx * to
rtx_jump_table_data **.
* cfgbuild.c (make_edges): Introduce local "table", using it in
place of "tmp" for jump table data.
(find_bb_boundaries): Strengthen local "table" from rtx to
rtx_jump_table_data *.
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
(outgoing_edges_match): Likewise for locals "table1" and "table2".
(try_crossjump_to_edge): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise for local
"table".
(patch_jump_insn): Introduce local "table", using it in place of
"tmp" for jump table data.
(force_nonfallthru_and_redirect): Introduce local "table", so that
call to tablejump_p can receive an rtx_jump_table_data **. Update
logic around the call to overwrite "note" appropriately if
tablejump_p returns non-zero.
(get_last_bb_insn): Introduce local "table", using it in place of
"tmp" for jump table data.
* dwarf2cfi.c (create_trace_edges): Likewise.
* config/arm/arm.c (get_jump_table_size): Strengthen param "insn"
from rtx to rtx_jump_table_data *.
(create_fix_barrier): Strengthen local "tmp" from rtx to
rtx_jump_table_data *.
(arm_reorg): Likewise for local "table".
* config/s390/s390.c (s390_chunkify_start): Likewise.
* config/spu/spu.c (spu_emit_branch_hint): Likewise.
* jump.c (delete_related_insns): Strengthen local "lab_next" from
rtx to rtx_jump_table_data *.
* rtlanal.c (tablejump_p): Strengthen param "tablep" from rtx * to
rtx_jump_table_data **. Add a checked cast when writing through
the pointer: we know there that local "table" is non-NULL and that
JUMP_TABLE_DATA_P (table) holds.
(label_is_jump_target_p): Introduce local "table", using it in
place of "tmp" for jump table data.
From-SVN: r214184
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1295,7 +1295,8 @@ delete_related_insns (rtx insn) if (jump_to_label_p (insn)) { - rtx lab = JUMP_LABEL (insn), lab_next; + rtx lab = JUMP_LABEL (insn); + rtx_jump_table_data *lab_next; if (LABEL_NUSES (lab) == 0) /* This can delete NEXT or PREV, |