On Thu, Jun 23, 2011 at 2:50 PM, Jan Hubicka <hubi...@ucw.cz> wrote: >> > Ok, but please change the IPA inline gate to honor flag_no_inline >> > (thus, (optimize && !flag_no_inline) || flag_lto || flag_wpa). >> OK. > Actually it won't work, since results of inline-analysis are used by most of > other > IPA passes (i.e. ipa-cp and ipa-sra for cloning decisions, etc.). > As we chatted about shortly on the summit, perhaps it would make sense to > declare > the jump-functions and ipa-inline analysis to be independent analysis passes > (aka ipa-pta). > One computing jump functions and other deciding on size/time estimates. > But definitely incrementally.
Ok, fair enough. Richard. > Honza >> > >> > Thanks for working on this, I'll look to some followup cleanups >> > for PTA. Now, when it works on LTRANS units we have to do >> > some adjustments (like not disable it in opts.c ;)) - do we know >> >> Yep, I decided that it can go as a followup. Thanks for working on this! >> BTW the PTA solving time seems rather high now not only for libjava, but >> also for tramp3d and other bigger units I tested. >> >> > whether a function is only called from within a ltrans unit somehow? >> >> When you look at the cgraph, the flags are set as at WPA time. >> I.e. if function is local to program it has externally_visible 0 >> and then you have used_from_other_partition/in_other_partition flags >> saying how the other ltrans partitions behave to your function. >> >> If you decide to ignore cgraph (that is probably not coolest idea), >> you have the usual PUBLIC flag that is set for all objects used cross >> ltrans boundary (since they are now hidden public symbols). >> >> You also have the address taken shipped from WPA info, so you know if other >> units reads/writes the objects or also take its address that probably comes >> handy. >> >> Honza >