diff options
author | Christian Bruel <christian.bruel@st.com> | 2015-09-15 15:46:57 +0200 |
---|---|---|
committer | Christian Bruel <chrbr@gcc.gnu.org> | 2015-09-15 15:46:57 +0200 |
commit | 20adfc6c1cdc9ab49f9c930e52c1bb1ca4e2f433 (patch) | |
tree | 624f5489f8689cb58ea384591e73c2ad339da2e5 /gcc | |
parent | c8b6aa7c12ab17f947bba5295d010f6f05be2383 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 17 |
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 |