aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/ia64
diff options
context:
space:
mode:
authorH.J. Lu <hjl@gcc.gnu.org>2008-09-18 13:27:36 -0700
committerH.J. Lu <hjl@gcc.gnu.org>2008-09-18 13:27:36 -0700
commitfaae4ae73f955ae9049f540fc7199e583a1d781e (patch)
treee53849279f75848fa5fc0e980eb1299b57e6c9d8 /gcc/config/ia64
parent334e912a93187986aa51b980b30b50b42fa109c5 (diff)
downloadgcc-faae4ae73f955ae9049f540fc7199e583a1d781e.zip
gcc-faae4ae73f955ae9049f540fc7199e583a1d781e.tar.gz
gcc-faae4ae73f955ae9049f540fc7199e583a1d781e.tar.bz2
re PR target/37394 (Segfault in ia64_variable_issue with -O -fschedule-insns2)
gcc/ 2008-09-18 H.J. Lu <hongjiu.lu@intel.com> PR target/37394 * config/ia64/ia64.c (ia64_optimization_options): Move checking and setting flag_schedule_insns_after_reload and ia64_flag_schedule_insns2 back to ... (ia64_override_options): Here. gcc/testsuite/ 2008-09-18 H.J. Lu <hongjiu.lu@intel.com> PR target/37394 * g++.dg/other/pr37394.C: New. From-SVN: r140475
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r--gcc/config/ia64/ia64.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 28abf27..81767bb 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -5233,6 +5233,9 @@ ia64_override_options (void)
TARGET_INLINE_SQRT = INL_MAX_THR;
}
+ ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload;
+ flag_schedule_insns_after_reload = 0;
+
ia64_section_threshold = g_switch_set ? g_switch_value : IA64_DEFAULT_GVALUE;
init_machine_status = ia64_init_machine_status;
@@ -9922,13 +9925,6 @@ void
ia64_optimization_options (int level ATTRIBUTE_UNUSED,
int size ATTRIBUTE_UNUSED)
{
- /* Disable the second machine independent scheduling pass and use one for the
- IA-64. This needs to be here instead of in OVERRIDE_OPTIONS because this
- is done whenever the optimization is changed via #pragma GCC optimize or
- attribute((optimize(...))). */
- ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload;
- flag_schedule_insns_after_reload = 0;
-
/* Let the scheduler form additional regions. */
set_param_value ("max-sched-extend-regions-iters", 2);