lto gimple types and debug info

Chris Lattner clattner@apple.com
Fri Jul 25 15:59:00 GMT 2008


On Jul 25, 2008, at 1:54 AM, Richard Guenther wrote:
>> Sure, typedefs in C/C++ seem clearly useless.  I'm just curious how  
>> you plan
>> to go about deciding whether things are useless in a more general  
>> context.
>> How fine of a granularity do you intend to inspect bits?  Trees  
>> have lots
>> of random stuff that are hard to identify and unify.  Hopefully  
>> this will be
>> a good step towards making LTO actually be able to work with source  
>> files
>> that come from different languages.  Does this mean that all
>> language-specific type info will be removed?
>
> Well, "removed" as in "transformed into bits of the common middle-end
> type system".  As we get new fancy optimizations that require
> more information we can easily add to the middle-end type-system.

Ok.

>> More generally, can you detail what your plan is?  Is it to remove  
>> specific
>> pieces (like typedefs, what else?) or just hack and slash random  
>> stuff if it
>> gets in your way?  I'm more curious about your approach and  
>> "threshold for
>> usefulness" than an abstract statement about how you will remove  
>> useless
>> stuff and keep the useful stuff :)
>
> The approach would be to add pieces to an "empty" middle-end
> type system, not to remove things from what the frontends give us.
> This way we don't even need to look at all the stuff that is in
> the frontends, but can concentrate on what is useful and needed
> for the middle-end right now.

Sure, this makes plenty of sense to me (and sounds very *very*  
familiar).  Do you intend to include things like TBAA in the initial  
type system?  That is one example of extremely important information  
which requires pulling in almost the entire source type system.

-Chris



More information about the Gcc mailing list