diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2008-02-29 12:46:19 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2008-02-29 12:46:19 +0000 |
commit | b0fbea136ef18450fdc326a7ea6a35deca625448 (patch) | |
tree | e3c72a1b48ac1c5eda7695b12f412d94123a531b | |
parent | 0c96231b2f444ee89f91882555744bfdab8d2cea (diff) | |
download | gcc-b0fbea136ef18450fdc326a7ea6a35deca625448.zip gcc-b0fbea136ef18450fdc326a7ea6a35deca625448.tar.gz gcc-b0fbea136ef18450fdc326a7ea6a35deca625448.tar.bz2 |
sh.c (sh_scalar_mode_supported_p): New function.
* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
From-SVN: r132766
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 14 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 6 |
3 files changed, 21 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 617782a..4563e52 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh.c (sh_scalar_mode_supported_p): New function. + (TARGET_SCALAR_MODE_SUPPORTED_P): Define. + + * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling. + 2008-02-29 Sebastian Pop <sebastian.pop@amd.com> * tree-loop-linear.c (try_interchange_loops): Compare memory access diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index fdee061..f2a0ba9 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -256,6 +256,7 @@ static bool sh_callee_copies (CUMULATIVE_ARGS *, enum machine_mode, const_tree, bool); static int sh_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode, tree, bool); +static bool sh_scalar_mode_supported_p (enum machine_mode); static int sh_dwarf_calling_convention (const_tree); @@ -431,6 +432,8 @@ static int sh_dwarf_calling_convention (const_tree); #undef TARGET_GIMPLIFY_VA_ARG_EXPR #define TARGET_GIMPLIFY_VA_ARG_EXPR sh_gimplify_va_arg_expr +#undef TARGET_SCALAR_MODE_SUPPORTED_P +#define TARGET_SCALAR_MODE_SUPPORTED_P sh_scalar_mode_supported_p #undef TARGET_VECTOR_MODE_SUPPORTED_P #define TARGET_VECTOR_MODE_SUPPORTED_P sh_vector_mode_supported_p @@ -9201,6 +9204,17 @@ sh_md_finish_global (FILE *dump ATTRIBUTE_UNUSED, } } +/* The scalar modes supported differs from the default version in TImode + for 32-bit SHMEDIA. */ +static bool +sh_scalar_mode_supported_p (enum machine_mode mode) +{ + if (TARGET_SHMEDIA32 && mode == TImode) + return false; + + return default_scalar_mode_supported_p (mode); +} + /* Cache the can_issue_more so that we can return it from reorder2. Also, keep count of register pressures on SImode and SFmode. */ static int diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 844ea23..7a15479 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -623,12 +623,6 @@ do { \ } \ TARGET_CBRANCHDI4 = 0; \ } \ - /* -fprofile-arcs needs a working libgcov . In unified tree \ - configurations with newlib, this requires to configure with \ - --with-newlib --with-headers. But there is no way to check \ - here we have a working libgcov, so just assume that we have. */\ - if (profile_flag) \ - warning (0, "profiling is still experimental for this target");\ } \ else \ { \ |