On 6/1/10, Michiel Helvensteijn <[email protected]> wrote: > Walter Bright wrote: > >> The link-time optimization is essentially compiling the whole project >> anyway, > > That makes no sense.
In simple terms, that is what it is though! http://gcc.gnu.org/wiki/LinkTimeOptimization "Link Time Optimization (LTO) gives GCC the capability of dumping its internal representation (GIMPLE) to disk, so that all the different compilation units that make up a single executable can be optimized as a single module." The -lto option dumps gcc's internal data into the object file, so when it is called again, it can reload it, as if it had just created it from the source. > You save time by recompiling only files that have changes. But, then the whole program goes through the process again anyway to perform the optimization. You save a little time in skipping parts of the front end for unchanged file, but the whole backend process has to happen anyway. > More importantly, what if you only have access to the object files? Unless you make those object files with the special -lto switch, you still don't get the benefit.
