aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2013-10-12 20:47:22 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2013-10-12 20:47:22 +0000
commit5d30dc5b6d86563a0a9ffb28429474b0f6c56544 (patch)
treed10115063632d11cde88f211517d35808a4261b8 /gcc/config.gcc
parent585a0b99166d96d04c6b65aca3ff797d7316e0ac (diff)
downloadgcc-5d30dc5b6d86563a0a9ffb28429474b0f6c56544.zip
gcc-5d30dc5b6d86563a0a9ffb28429474b0f6c56544.tar.gz
gcc-5d30dc5b6d86563a0a9ffb28429474b0f6c56544.tar.bz2
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244 * config/sh/sh_treg_combine.cc: New SH specific RTL pass. * config.gcc (SH extra_objs): Add sh_ifcvt.o. * config/sh/t-sh (sh_treg_combine.o): New entry. * config/sh/sh.c (sh_fixed_condition_code_regs): New function that implements the target hook TARGET_FIXED_CONDITION_CODE_REGS. (register_sh_passes): New function. Register sh_treg_combine pass. (sh_option_override): Invoke it. (sh_canonicalize_comparison): Handle op0_preserve_value. * sh.md (*cbranch_t"): Do not try to optimize missed test and branch opportunities. Canonicalize branch condition. (nott): Allow only if pseudos can be created for non-SH2A. PR target/51244 * gcc.dg/torture/p51244-21.c: New. * gcc.target/sh/pr51244-20.c: New. * gcc.target/sh/pr51244-20-sh2a.c: New. From-SVN: r203492
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index c85d088..c59e2ca 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -465,6 +465,7 @@ sh[123456789lbe]*-*-* | sh-*-*)
cpu_type=sh
need_64bit_hwint=yes
extra_options="${extra_options} fused-madd.opt"
+ extra_objs="${extra_objs} sh_treg_combine.o"
;;
v850*-*-*)
cpu_type=v850