On 07/13/2017 02:59 AM, Richard Sandiford wrote:
> This patch adds a helper function to get the mode of the addresses
> or offsets in a jump table. It also changes the final.c code to use
> rtx_jump_table_data over rtx or rtx_insn in cases where it needed
> to use the new helper. This in turn meant adding a safe_dyn_cast
> equivalent of safe_as_a, to cope with null NEXT_INSNs.
>
> 2017-07-13 Richard Sandiford <richard.sandif...@linaro.org>
> Alan Hayward <alan.hayw...@arm.com>
> David Sherwood <david.sherw...@arm.com>
>
> gcc/
> * is-a.h (safe_dyn_cast): New function.
> * rtl.h (rtx_jump_table_data::get_data_mode): New function.
> (jump_table_for_label): Likewise.
> * final.c (final_addr_vec_align): Take an rtx_jump_table_data *
> instead of an rtx_insn *.
> (shorten_branches): Use dyn_cast instead of LABEL_P and
> JUMP_TABLE_DATA_P. Use jump_table_for_label and
> rtx_jump_table_data::get_data_mode.
> (final_scan_insn): Likewise.
OK.
jeff
>