This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: debugging info considered harmful to lto.


Jan Hubicka wrote:
Thanks for explanation - the space optimization seems relatively
chalenging to implement, in particular because the variables in scope
might change in between the time abstract copy is output and the time
the block referencing to the block via abstract pointer is output.

The block is a lexical thing, optimizations don't change that.


We have origin pointers in declarations and origin pointers in blocks.
I guess optimization willing to know all variables same from user POV
(for lets say setting watchpoint on something in inline function)
probably cares about origins of declarations rather than blocks.


At what time the blocks actually matters?

So the debugger knows which declarations are in scope at a particular PC.


For example if I have block that contians just single block and declare
no new variables, can I simply remove it and replace it by the inner
block?

Yes.


Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]