diff options
author | dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-19 19:19:13 +0000 |
---|---|---|
committer | dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-19 19:19:13 +0000 |
commit | c86d86fffe04e33c7ac084e575b0298069b8e8f8 (patch) | |
tree | 25dcbcad495942e5f4d89b95ad979a56367bd84f /gcc/config | |
parent | 78bf41568c66b61419865b36f101121c8f5918a5 (diff) | |
download | gcc-c86d86fffe04e33c7ac084e575b0298069b8e8f8.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214184 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/arm/arm.c | 8 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 2 | ||||
-rw-r--r-- | gcc/config/spu/spu.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 2f8d3274504..858f0d78950 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -108,7 +108,7 @@ static const char *output_multi_immediate (rtx *, const char *, const char *, static const char *shift_op (rtx, HOST_WIDE_INT *); static struct machine_function *arm_init_machine_status (void); static void thumb_exit (FILE *, int); -static HOST_WIDE_INT get_jump_table_size (rtx); +static HOST_WIDE_INT get_jump_table_size (rtx_jump_table_data *); static Mnode *move_minipool_fix_forward_ref (Mnode *, Mnode *, HOST_WIDE_INT); static Mnode *add_minipool_forward_ref (Mfix *); static Mnode *move_minipool_fix_backward_ref (Mnode *, Mnode *, HOST_WIDE_INT); @@ -16122,7 +16122,7 @@ Mfix * minipool_barrier; #endif static HOST_WIDE_INT -get_jump_table_size (rtx insn) +get_jump_table_size (rtx_jump_table_data *insn) { /* ADDR_VECs only take room if read-only data does into the text section. */ @@ -16710,7 +16710,7 @@ create_fix_barrier (Mfix *fix, HOST_WIDE_INT max_address) while (from && count < max_count) { - rtx tmp; + rtx_jump_table_data *tmp; int new_cost; /* This code shouldn't have been called if there was a natural barrier @@ -17355,7 +17355,7 @@ arm_reorg (void) push_minipool_barrier (insn, address); else if (INSN_P (insn)) { - rtx table; + rtx_jump_table_data *table; note_invalid_constants (insn, address, true); address += get_attr_length (insn); diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index a2617a86e64..1dd7c015caf 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -7072,7 +7072,7 @@ s390_chunkify_start (void) for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) { - rtx table; + rtx_jump_table_data *table; /* Labels marked with LABEL_PRESERVE_P can be target of non-local jumps, so we have to mark them. diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c index 60d537ff64d..8816371cc34 100644 --- a/gcc/config/spu/spu.c +++ b/gcc/config/spu/spu.c @@ -2104,7 +2104,7 @@ spu_emit_branch_hint (rtx before, rtx branch, rtx target, rtx branch_label = 0; rtx hint; rtx insn; - rtx table; + rtx_jump_table_data *table; if (before == 0 || branch == 0 || target == 0) return; |