[llvm-commits] pr11367

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Nov 14 08:55:02 PST 2011


I was thinking a bit about pr11367. The most direct way to solve it is
keeping the list open until the linker is done adding files, but maybe
there is a better way.

What was the intended use case of lazy linking? Speeding up LTO? If
so, it might be better to drop these function at the end of
-std-compile-opts and change back the linker to keeping everything.
The advantages would be

* llvm-link is again just a IL version of cat
* LTO is even faster, as we avoid writing to disk the functions that
we currently drop when reading in.

It is true that we would drop more available_externally functions.
Right now if we drop them or not depends on the file order.

Both the current solution and the dropping them in -std-compile-opts
could also introduce a regression compared to the old way where an
available_externally function in one file would be available for use
in any other file. I don't think this would be a problem in practise.
Any translation unit that uses an inline function is likely to see its
definition.

Cheers,
Rafael



More information about the llvm-commits mailing list