lto gimple types and debug info

Kenneth Zadeck zadeck@naturalbridge.com
Tue Jul 29 11:59:00 GMT 2008


Paolo Bonzini wrote:
> Mark Mitchell wrote:
>> For that matter, "print sizeof(X)" should print the same value when 
>> debugging optimized code as when debugging unoptimized code, even if 
>> the compiler has optimized X away to an empty structure!
>
> I disagree.  sizeof(X) in the code will return a value as small as 
> possible in that case (so that malloc-ing an array of structures) does 
> not waste memory, and the debugger should do the same.
>
> Paolo
>
I think I agree with paolo here.   One of the issues is how throughly 
the (current or future) passes rewrites the code.  I have never looked 
at struct reorg close enough to know if it generates new types and 
resets the decls or if it just hacks the old types.   It could do either 
one.

if it generates new types, then saying sizeof(X) in the debugger could 
do what mark wants, it is just that X is not the type of the structure 
any more.  It is a matter of speculation as to if this is more or less 
confusing than hacking the type itself.

The bottom line here is that it is going to be hard to totally hide this 
from the user.  There are going to be edges that show.  The question is 
how much do we want to try.

kenny



More information about the Gcc mailing list