On Dec 12, 2007 3:28 PM, Tim Josling <[EMAIL PROTECTED]> wrote: > > Do you have any thoughts on how this approach would be able to use > profiling information, which is very a very powerful source of > information for producing good optimisations?
The intent is for the WPA phase to utilize profile information, both for making transformation decisions and for assigning call-graph edge weights (which impacts partitioning and, hence, the local optimizations available during LTRANS). We've also discussed the possibility of bypassing LTRANS altogether for portions of the call-graph which profiling determines are insignificant. > A few years back there were various suggestions about having files > containing intermediate representations and this was criticised because > it could make it possible for people for subvert the GPL by connecting > to the optimisation phases via such an intermediate file. Arguably the > language front end is then a different program and not covered by the > GPL. It might be worth thinking about this aspect. The lto branch is already doing this, so presumably that discussion was resolved (Maybe someone in the know should pipe up.). This proposal aims to leverage (and augment) that work in progress. > This also triggers the thought that if you have this intermediate > representation, and it is somewhat robust to GCC patchlevels, you do not > actually need source code of proprietary libraries to optimize into > them. You only need the intermediate files, which may be easier to get > than source code. I believe a stable representation is an explicit non-goal of the LTO project (Perhaps that was the "resolution" of the discussion above.). It's an interesting idea, though. Maybe this is something to revisit once the representation has had a chance to stabilize. Ollie