aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChristian Bruel <christian.bruel@st.com>2015-09-15 15:46:57 +0200
committerChristian Bruel <chrbr@gcc.gnu.org>2015-09-15 15:46:57 +0200
commit20adfc6c1cdc9ab49f9c930e52c1bb1ca4e2f433 (patch)
tree624f5489f8689cb58ea384591e73c2ad339da2e5 /gcc
parentc8b6aa7c12ab17f947bba5295d010f6f05be2383 (diff)
downloadgcc-20adfc6c1cdc9ab49f9c930e52c1bb1ca4e2f433.zip
gcc-20adfc6c1cdc9ab49f9c930e52c1bb1ca4e2f433.tar.gz
gcc-20adfc6c1cdc9ab49f9c930e52c1bb1ca4e2f433.tar.bz2
arm.c (TARGET_OPTION_PRINT): Define.
2015-09-15 Christian Bruel <christian.bruel@st.com> * config/arm/arm.c (TARGET_OPTION_PRINT): Define. (arm_option_print): New function. From-SVN: r227796
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/arm.c17
2 files changed, 23 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 72de7ff..fda0151 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2015-09-15 Christian Bruel <christian.bruel@st.com>
+ * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
+ (arm_option_print): New function.
+
+2015-09-15 Christian Bruel <christian.bruel@st.com>
+
PR target/52144
* config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
* config/arm/arm-c.c (arm_cpu_builtins): Declare static.
@@ -7,7 +12,7 @@
* config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
(TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
(TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
- (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with:
+ (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
(TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
(TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
(TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 214d0b1..e5d1a45 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -245,6 +245,7 @@ static tree arm_build_builtin_va_list (void);
static void arm_expand_builtin_va_start (tree, rtx);
static tree arm_gimplify_va_arg_expr (tree, tree, gimple_seq *, gimple_seq *);
static void arm_option_override (void);
+static void arm_option_print (FILE *, int, struct cl_target_option *);
static void arm_set_current_function (tree);
static bool arm_can_inline_p (tree, tree);
static bool arm_valid_target_attribute_p (tree, tree, tree, int);
@@ -405,6 +406,9 @@ static const struct attribute_spec arm_attribute_table[] =
#undef TARGET_OPTION_OVERRIDE
#define TARGET_OPTION_OVERRIDE arm_option_override
+#undef TARGET_OPTION_PRINT
+#define TARGET_OPTION_PRINT arm_option_print
+
#undef TARGET_COMP_TYPE_ATTRIBUTES
#define TARGET_COMP_TYPE_ATTRIBUTES arm_comp_type_attributes
@@ -29483,6 +29487,19 @@ arm_set_current_function (tree fndecl)
arm_option_params_internal ();
}
+/* Implement TARGET_OPTION_PRINT. */
+
+static void
+arm_option_print (FILE *file, int indent, struct cl_target_option *ptr)
+{
+ int flags = ptr->x_target_flags;
+
+ fprintf (file, "%*sselected arch %s\n", indent, "",
+ TARGET_THUMB2_P (flags) ? "thumb2" :
+ TARGET_THUMB_P (flags) ? "thumb1" :
+ "arm");
+}
+
/* Hook to determine if one function can safely inline another. */
static bool