diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c695f47ca7e762e75adfdab8133ae4f0d1c8c4d0..59226336d6877a9d905c25382d9e989d54176864 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-03-25 Andrey Belevantsev <abel@ispras.ru> + + * 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 <Ralf.Wildenhues@gmx.de> * doc/invoke.texi (Debugging Options): Fix description of diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 420a8e463270a54d54cb1d9b1bafca302b990eec..da96fce6d4fbd28a660598f2753da8cbf260ace8 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 11b2ae3600208b166a6e2276a78c2d7fd8a8c1d2..afe6b7eb81d34dce277a292da491db8c5cd323b8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-03-25 Alexander Monakov <amonakov@ispras.ru> + + * gcc.target/ia64/20090324-1.c: New test. + 2009-03-25 Jakub Jelinek <jakub@redhat.com> 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 0000000000000000000000000000000000000000..d9aff6a18b43722d8f8858e2110fc7373ef7088c --- /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 (); +}