public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Line number notes revamp?
@ 2001-09-12  7:46 Jan Hubicka
  2001-09-12 13:05 ` Richard Henderson
  0 siblings, 1 reply; 12+ messages in thread
From: Jan Hubicka @ 2001-09-12  7:46 UTC (permalink / raw)
  To: gcc, rth

Hi,
while I am at the grand cleanups, I got idea to reorganize way line number
notes are handled.  To my opinion, the current way of emitting line number
notes to the insn stream is goot for RTL construction pass, but nightmare
to keep up to date when performing code motion.

Exception handling gets around quite easilly by using note in the generation
and then convert it to the REG notes.  I think for line numbers we should use
same - have REG_LINENUM note that has value pointing to the linenum record -
eighter represented in RTL as (linenum line column string) or separately.  (we
may want to attach multiple lines to single insn in combining).

I believe that this is more robust for optimizers - newly generated code will
miss lines, but for a lot of code this is OK (such as register spilling),
later we may add linenum_emit_insn instruction familly to handle this in cases
we want to emit new instruction with line number information atached.

I promise from the solution following
  - more exact debug information  (even with optimizing)
  - no more problems with different code generated at -g
  - easier code in scheduler
  - one purpose fewer to have something in between basic blocks

If this sounds sane, I would probably try to do that next week on the CFG
branch.

What do you think?

Honza

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2001-09-13  6:02 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-12  7:46 Line number notes revamp? Jan Hubicka
2001-09-12 13:05 ` Richard Henderson
2001-09-12 13:48   ` Daniel Berlin
2001-09-12 13:56     ` Richard Henderson
2001-09-12 16:11       ` Daniel Berlin
2001-09-12 23:00       ` Neil Booth
2001-09-12 23:58         ` Zack Weinberg
2001-09-13  0:00           ` Neil Booth
2001-09-13  1:24           ` Richard Henderson
2001-09-13  5:59           ` Daniel Berlin
2001-09-13  2:56         ` Jan Hubicka
2001-09-13  6:02           ` Daniel Berlin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).