[llvm-commits] [patch] Switch LTO to use MC

Chris Lattner clattner at apple.com
Sat Feb 26 13:29:21 PST 2011


On Feb 25, 2011, at 8:17 AM, Rafael Avila de Espindola wrote:
>>> Doing llvm-link of all the IL files is about 3m if I remember
>>> correctly.
>> 
>> Wow.  Out of curiosity, is much of that time spent in type resolution
>> stuff?  I expect that to disappear when the (post 2.9) type system
>> rewrite happens.  I think we can make the "loading + linking" process
>> much faster :)
> 
> Not sure. I did noticed that it looks like the merge is done two modules at a time with no state saved. It might be possible to save some time in there.
> 
> Btw, I have seen the 3.0 planned type changes mentioned some times, but I don't know what they are in detail. Is there a doc somewhere?

I wrote them up and sent a link to llvmdev.

>> Aha, very nice.  That should be possible by just reusing a
>> memorybuffer or something.
> 
> Yes, I just need a way to represent MemoryBuffers that are not NULL terminated :-)

I agree that having null termination be optional would be useful.  Clang really wants this (to make its lexer faster) but I don't think anyone else cares.  I'd be fine with eliminating this requirement in the MemBuffer API and giving MemoryBuffer::getFileOrSTDIN a flags argument, where one flag would be "RequiresNullTerminatedBuffer" or something like that.

-Chris



More information about the llvm-commits mailing list