diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2011-02-02 04:31:35 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2011-02-02 04:31:35 +0000 |
commit | a59d15cf9f9a6daa75072e8f5b0ab93d279274b3 (patch) | |
tree | 45c11f92ea932c870f55bc85a553c33839b01d65 /gcc/final.c | |
parent | 6fc2f091e7e70574c17d229bb6b9e6db1e0d385a (diff) | |
download | gcc-a59d15cf9f9a6daa75072e8f5b0ab93d279274b3.zip gcc-a59d15cf9f9a6daa75072e8f5b0ab93d279274b3.tar.gz gcc-a59d15cf9f9a6daa75072e8f5b0ab93d279274b3.tar.bz2 |
re PR debug/47498 (-fcompare-debug failure with -fsched2-use-superblocks)
gcc/ChangeLog:
PR debug/47498
PR debug/47501
PR debug/45136
PR debug/45130
* haifa-sched.c (get_ebb_head_tail): Move notes across boundary
debug insns.
(no_real_insns_p, schedule_block, set_priorities): Drop special
treatment of boundary debug insns.
* sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
insns.
* sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
* sched-int.h (DEBUG_INSN_SCHED_P): Remove.
(BOUNDARY_DEBUG_INSN_P): Likewise.
(SCHEDULE_DEBUG_INSN_P): Likewise.
* sched-rgn.c (init_ready_list): Drop special treatment of
boundary debug insns.
* final.c (rest_of_clean_state): Clear notes' BB.
gcc/testsuite/ChangeLog:
PR debug/47498
PR debug/47501
PR debug/45136
PR debug/45130
* debug/pr47498.c: New.
* debug/pr47501.c: New.
From-SVN: r169513
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c index 09dec08..ceb7974 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -4402,7 +4402,11 @@ rest_of_clean_state (void) if (LABEL_P (insn)) INSN_UID (insn) = CODE_LABEL_NUMBER (insn); else - INSN_UID (insn) = 0; + { + if (NOTE_P (insn)) + set_block_for_insn (insn, NULL); + INSN_UID (insn) = 0; + } } } @@ -4423,7 +4427,6 @@ rest_of_clean_state (void) && NOTE_KIND (insn) != NOTE_INSN_BLOCK_END && NOTE_KIND (insn) != NOTE_INSN_CFA_RESTORE_STATE))) print_rtl_single (final_output, insn); - } if (final_output) |