diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2011-01-25 22:27:51 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2011-01-25 22:27:51 +0000 |
commit | 9bdbdcef9a8c9615c7d7ccb69bc5110b3c04a78b (patch) | |
tree | 6a6de1f5b3d7fc3e205bef331cb55788bda819b7 /gcc/final.c | |
parent | b28641995ca556027897488809a2c5e4a4408298 (diff) | |
download | gcc-9bdbdcef9a8c9615c7d7ccb69bc5110b3c04a78b.zip gcc-9bdbdcef9a8c9615c7d7ccb69bc5110b3c04a78b.tar.gz gcc-9bdbdcef9a8c9615c7d7ccb69bc5110b3c04a78b.tar.bz2 |
re PR debug/45136 (-fcompare-debug failure with -Os -fschedule-insns)
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): Don't skip 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.
From-SVN: r169260
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) |