r251511 - in /trunk/gcc: ChangeLog final.c is-a...
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Wed Aug 30 11:18:00 GMT 2017
Author: rsandifo
Date: Wed Aug 30 11:18:37 2017
New Revision: 251511
URL: https://gcc.gnu.org/viewcvs?rev=251511&root=gcc&view=rev
Log:
[59/77] Add a rtx_jump_table_data::get_data_mode helper
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-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/final.c
trunk/gcc/is-a.h
trunk/gcc/rtl.h
More information about the Gcc-cvs
mailing list