aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2011-11-07 08:33:14 +0000
committerTristan Gingold <gingold@gcc.gnu.org>2011-11-07 08:33:14 +0000
commitf7a57cdc352bda43281423b933e4d3cb0edc9ddc (patch)
tree01162eb745695b65a7edb2d3a9800db3e9f3b839 /gcc
parentff02a38bc6b5afb0283d2d9a9ed16c92623ee331 (diff)
downloadgcc-f7a57cdc352bda43281423b933e4d3cb0edc9ddc.zip
gcc-f7a57cdc352bda43281423b933e4d3cb0edc9ddc.tar.gz
gcc-f7a57cdc352bda43281423b933e4d3cb0edc9ddc.tar.bz2
alpha-common.c (alpha_option_init_struct): New function.
2011-11-07 Tristan Gingold <gingold@adacore.com> * common/config/alpha/alpha-common.c (alpha_option_init_struct): New function. (TARGET_OPTION_INIT_STRUCT): Define. * config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET) (TARGET_MAX_ANCHOR_OFFSET) (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine. From-SVN: r181074
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/common/config/alpha/alpha-common.c14
-rw-r--r--gcc/config/alpha/alpha.c8
3 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eefe055..f8f33d9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2011-11-07 Tristan Gingold <gingold@adacore.com>
+
+ * common/config/alpha/alpha-common.c (alpha_option_init_struct):
+ New function.
+ (TARGET_OPTION_INIT_STRUCT): Define.
+ * config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET)
+ (TARGET_MAX_ANCHOR_OFFSET)
+ (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine.
+
2011-11-06 Quentin Neill <quentin.neill@amd.com>
Fix r180999, update ChangeLog
diff --git a/gcc/common/config/alpha/alpha-common.c b/gcc/common/config/alpha/alpha-common.c
index fcf5369..8a366b6 100644
--- a/gcc/common/config/alpha/alpha-common.c
+++ b/gcc/common/config/alpha/alpha-common.c
@@ -36,6 +36,17 @@ static const struct default_options alpha_option_optimization_table[] =
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};
+/* Implement TARGET_OPTION_INIT_STRUCT. */
+
+static void
+alpha_option_init_struct (struct gcc_options *opts ATTRIBUTE_UNUSED)
+{
+#if TARGET_ABI_OPEN_VMS
+ /* Enable section anchors by default. */
+ opts->x_flag_section_anchors = 1;
+#endif
+}
+
/* Implement TARGET_HANDLE_OPTION. */
static bool
@@ -75,6 +86,9 @@ alpha_handle_option (struct gcc_options *opts,
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION alpha_handle_option
+#undef TARGET_OPTION_INIT_STRUCT
+#define TARGET_OPTION_INIT_STRUCT alpha_option_init_struct
+
#undef TARGET_OPTION_OPTIMIZATION_TABLE
#define TARGET_OPTION_OPTIMIZATION_TABLE alpha_option_optimization_table
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 682e5be..9a43f80 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -9643,6 +9643,14 @@ alpha_conditional_register_usage (void)
#define TARGET_STDARG_OPTIMIZE_HOOK alpha_stdarg_optimize_hook
#endif
+/* Use 16-bits anchor. */
+#undef TARGET_MIN_ANCHOR_OFFSET
+#define TARGET_MIN_ANCHOR_OFFSET -0x7fff - 1
+#undef TARGET_MAX_ANCHOR_OFFSET
+#define TARGET_MAX_ANCHOR_OFFSET 0x7fff
+#undef TARGET_USE_BLOCKS_FOR_CONSTANT_P
+#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_true
+
#undef TARGET_RTX_COSTS
#define TARGET_RTX_COSTS alpha_rtx_costs
#undef TARGET_ADDRESS_COST