OSDN Git Service

* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Feb 2008 12:46:19 +0000 (12:46 +0000)
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Feb 2008 12:46:19 +0000 (12:46 +0000)
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.

* config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132766 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h

index 617782a..4563e52 100644 (file)
@@ -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
index fdee061..f2a0ba9 100644 (file)
@@ -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);
 
 \f
@@ -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
index 844ea23..7a15479 100644 (file)
@@ -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                                                                 \
     {                                                                  \