diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2014-08-06 15:40:26 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2014-08-06 15:40:26 +0000 |
commit | f50d71ec0f18c0ddf82c3127cab50e816e64c838 (patch) | |
tree | 91829d1585b1f5c879ae27113c00a1e222ecca95 /gcc/haifa-sched.c | |
parent | 9d6171dce1c59155448881139181fbe158fd3a60 (diff) | |
download | gcc-f50d71ec0f18c0ddf82c3127cab50e816e64c838.zip gcc-f50d71ec0f18c0ddf82c3127cab50e816e64c838.tar.gz gcc-f50d71ec0f18c0ddf82c3127cab50e816e64c838.tar.bz2 |
re PR debug/61923 (-fcompare-debug errors while building Linux kernel.)
2014-08-06 Vladimir Makarov <vmakarov@redhat.com>
PR debug/61923
* haifa-sched.c (advance_one_cycle): Fix dump.
(schedule_block): Don't advance cycle if we are already at the
beginning of the cycle.
2014-08-06 Vladimir Makarov <vmakarov@redhat.com>
PR debug/61923
* gcc.target/i386/pr61923.c: New test.
From-SVN: r213675
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r-- | gcc/haifa-sched.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index f93fe4c..fb15e0d 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -2970,7 +2970,7 @@ advance_one_cycle (void) { advance_state (curr_state); if (sched_verbose >= 4) - fprintf (sched_dump, ";;\tAdvanced a state.\n"); + fprintf (sched_dump, ";;\tAdvance the current state.\n"); } /* Update register pressure after scheduling INSN. */ @@ -6052,6 +6052,7 @@ schedule_block (basic_block *target_bb, state_t init_state) modulo_insns_scheduled = 0; ls.modulo_epilogue = false; + ls.first_cycle_insn_p = true; /* Loop until all the insns in BB are scheduled. */ while ((*current_sched_info->schedule_more_p) ()) @@ -6122,7 +6123,6 @@ schedule_block (basic_block *target_bb, state_t init_state) if (must_backtrack) goto do_backtrack; - ls.first_cycle_insn_p = true; ls.shadows_only_p = false; cycle_issued_insns = 0; ls.can_issue_more = issue_rate; @@ -6409,11 +6409,13 @@ schedule_block (basic_block *target_bb, state_t init_state) break; } } + ls.first_cycle_insn_p = true; } if (ls.modulo_epilogue) success = true; end_schedule: - advance_one_cycle (); + if (!ls.first_cycle_insn_p) + advance_one_cycle (); perform_replacements_new_cycle (); if (modulo_ii > 0) { |