summaryrefslogtreecommitdiff
path: root/gcc/config/sh
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-29 12:11:10 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-29 12:11:10 +0000
commit77985f1a1eee0690b7d2a564339c63e6eadd1900 (patch)
tree8230af9f599ea90460f26ce09380d6f167c3704d /gcc/config/sh
parent78e8d5ffbf0ba5031b736d2c6fc6a44605047cbc (diff)
downloadgcc-77985f1a1eee0690b7d2a564339c63e6eadd1900.tar.gz
* cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu
of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern. (control_flow_insn_p): Likewise. * cfgrtl.c (duplicate_insn_chain): Likewise. * final.c (get_attr_length_1): Likewise. (shorten_branches): Likewise. (final_scan_insn): Likewise. * function.c (instantiate_virtual_regs): Likewise. * gcse.c (insert_insn_end_basic_block): Likewise. * ira-costs.c (scan_one_insn): Likewise. * lra-eliminations.c (eliminate_regs_in_insn): Likewise. * lra.c (check_rtl): Likewise. * reload1.c (elimination_costs_in_insn): Likewise. * reorg.c (follow_jumps): Likewise. * config/arm/arm.c (is_jump_table): Use JUMP_TABLE_DATA_P in lieu of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern. (thumb_far_jump_used_p): Likewise. * config/bfin/bfin.c (workaround_rts_anomaly): Likewise. (workaround_speculation): Likewise. (add_sched_insns_for_speculation): Likewise. * config/c6x/c6x.c (reorg_emit_nops): Likewise. * config/frv/frv.c (frv_function_contains_far_jump): Likewise. (frv_for_each_packet): Likewise. * config/i386/i386.c (ix86_avoid_jump_mispredicts): Likewise. * config/ia64/ia64.c (emit_all_insn_group_barriers): Likewise. (final_emit_insn_group_barriers): Likewise. * config/m32r/m32r.c (m32r_is_insn): Likewise. * config/mips/mips.c (USEFUL_INSN_P): Likewise. (mips16_insn_length): Likewise. * config/pa/pa.c (pa_reorg): Likewise. (pa_combine_instructions): Likewise. * config/rs6000/rs6000.c (rs6000_invalid_within_doloop): Likewise. * config/sh/sh.c (fixup_addr_diff_vecs): Likewise. (sh_reorg): Likewise. (split_branches): Likewise. * config/spu/spu.c (get_branch_target): Likewise. * config/s390/s390.c (s390_chunkify_start): Simplify logic using JUMP_TABLE_DATA_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197234 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sh')
-rw-r--r--gcc/config/sh/sh.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 44e1e4ce30e..d13198b025b 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -5799,7 +5799,7 @@ fixup_addr_diff_vecs (rtx first)
{
rtx vec_lab, pat, prev, prevpat, x, braf_label;
- if (!JUMP_P (insn)
+ if (! JUMP_TABLE_DATA_P (insn)
|| GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC)
continue;
pat = PATTERN (insn);
@@ -6233,7 +6233,7 @@ sh_reorg (void)
num_mova = 0;
}
}
- else if (JUMP_P (insn)
+ else if (JUMP_TABLE_DATA_P (insn)
&& GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC
&& num_mova
/* ??? loop invariant motion can also move a mova out of a
@@ -6496,8 +6496,7 @@ split_branches (rtx first)
}
else if (JUMP_P (insn)
/* Don't mess with ADDR_DIFF_VEC */
- && (GET_CODE (PATTERN (insn)) == SET
- || GET_CODE (PATTERN (insn)) == RETURN))
+ && ! JUMP_TABLE_DATA_P (insn))
{
enum attr_type type = get_attr_type (insn);
if (type == TYPE_CBRANCH)