This is the mail archive of the
mailing list for the GCC project.
Re: Remove some of line number notes maintaining code
- From: Roger Sayle <roger at eyesopen dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 11 Nov 2006 07:59:27 -0700 (MST)
- Subject: Re: Remove some of line number notes maintaining code
On Sat, 11 Nov 2006, Jan Hubicka wrote:
> * tree-pass.h (pass_purge_lineno_notes): Remove declaration.
> * modulo-sched.c (find_line_note): Remove.
> (loop_canon_p): Do not worry about line number notes.
> (sms_schedule): Likewise.
> * cse.c (cse_main): Likewise.
> * regmove.c (fixup_match_1): Likewise
> * function.c (emit_return_info_block): Likewise.
> (expand_function_end): Likewise.
> (thread_prologue_an_epilogue_insns): Likewise.
> * cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
> * emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
> emit_note_copy_after): Kill.
> (emit_note_copy): Do not worry about line numbers.
> * jump.c (purge_line_number_notes): Kill.
> (pass_purge_lineno_notes): Kill.
> * cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
> * rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
> * passes.c (init_optimization_passes): Don't purge_lineno_notes.
> * sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
> * tree-pass.h (pass_purge_lineno_notes): Kill.
> * sched-ebb.c (schedule_ebb): Don't rm_line_notes,
> * sched-rgb.c (schedule_region): Don't rm_line_notes,
> * sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
> * haifa-sched.c: Update comment about handling notes.
> (unlink_line_notes): Kill.
> (rm_line_notes): Kill.
> (save_line_notes): Simplify.
> (rm_redundant_line_notes): Kill.
This is OK for mainline. Thanks.
Re: scheduling. I've not looked at the code, but it might make sense
to split scheduling priority ties to select the next instruction with
the same locator as the previous/current one. By keeping such
instructions contiguous, we reduce the size of the required debug
information. Apparently minimizing the size of debug info is important
to some organizations. Just a random thought, and my apologies if we
do this already.