http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54146
--- Comment #39 from Jan Hubicka <hubicka at ucw dot cz> 2012-08-10 03:53:46 UTC --- > Martin, can you look at comment #14 and the patch? I think what we want to > do in flatten_function is before > > inline_call (e, true, NULL, NULL); > > reset the edge predicates so that inline_merge_summary becomes very cheap. Well, this will still result in (conservatively) wrong inline summary for flattened function. I am not sure if "flatten" attribute should laso mean "do not care about inlining of the flattened function much". I think we want to handle this generically even if it is harder for small function inliner to explode here because it does a lot less cascaded inlining. > Unfortunately that beast seems to have no early out (but instead uses > true_predicate () ...). Can we speed it up for the case where we just > want "fast" operation rather than precise accounting of sizes/time in the > inlined-to caller? I will look. Honza