On Mon, Jul 23, 2007 at 08:56:11PM +0200, Jan Hubicka wrote: > > On Mon, Jul 23, 2007 at 07:33:46PM +0200, Jan Hubicka wrote: > > It's mostly supposed to be a space optimization. We get e.g. the > > names and (sometimes) types of local variables from the origin copy, > > and only need a location at each inlining site. I'm sure there are > > other things we could do with this information, that rely on knowing > > what variables are the same from the user's point of view. > > 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. > > How things are compared to match and where the optimization is done?
I don't know anything about how this works in GCC; I was describing how GDB handles it. The blocks don't have any obvious IDs, so removing blocks with no declarations seems safe to me. -- Daniel Jacobowitz CodeSourcery