From cd510f15b8434447b7782140a52c0e5392cd3e13 Mon Sep 17 00:00:00 2001 From: Alexander Monakov Date: Wed, 25 Mar 2009 13:04:36 +0300 Subject: [PATCH] ia64.c (ia64_set_sched_flags): Zero spec_info->mask when neither of haifa/selective schedulers are working. 2009-03-25 Andrey Belevantsev Alexander Monakov * config/ia64/ia64.c (ia64_set_sched_flags): Zero spec_info->mask when neither of haifa/selective schedulers are working. * gcc.target/ia64/20090324-1.c: New test. From-SVN: r145055 --- gcc/ChangeLog | 5 +++++ gcc/config/ia64/ia64.c | 2 ++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.target/ia64/20090324-1.c | 21 +++++++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 gcc/testsuite/gcc.target/ia64/20090324-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c695f47ca7e..59226336d68 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-03-25 Andrey Belevantsev + + * config/ia64/ia64.c (ia64_set_sched_flags): Zero spec_info->mask when + neither of haifa/selective schedulers are working. + 2009-03-25 Ralf Wildenhues * doc/invoke.texi (Debugging Options): Fix description of diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 420a8e46327..da96fce6d4f 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -7274,6 +7274,8 @@ ia64_set_sched_flags (spec_info_t spec_info) spec_info->flags |= COUNT_SPEC_IN_CRITICAL_PATH; } } + else + spec_info->mask = 0; } /* If INSN is an appropriate load return its mode. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 11b2ae36002..afe6b7eb81d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-03-25 Alexander Monakov + + * gcc.target/ia64/20090324-1.c: New test. + 2009-03-25 Jakub Jelinek PR c/27898 diff --git a/gcc/testsuite/gcc.target/ia64/20090324-1.c b/gcc/testsuite/gcc.target/ia64/20090324-1.c new file mode 100644 index 00000000000..d9aff6a18b4 --- /dev/null +++ b/gcc/testsuite/gcc.target/ia64/20090324-1.c @@ -0,0 +1,21 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -fmodulo-sched" } */ + +static char *place_region_bounds_x, *place_region_bounds_y; +static void read_place () { + char msg[300]; + update_screen (msg); +} +static void alloc_and_load_placement_structs () { + int i, j; + for (j=0; + j<100; + j++) { + place_region_bounds_x[i] = place_region_bounds_x[i-1]; + place_region_bounds_y[i] = place_region_bounds_y[i-1]; + } +} +void place_and_route () { + read_place (); + alloc_and_load_placement_structs (); +} -- 2.30.2