------- Comment #2 from marco at technoboredom dot net 2010-07-05 14:46 -------
(In reply to comment #1)
> recursive inlining is limited to a depth of 8.
>
> While the testcase may be "interesting", does it have any practical
> relevance?
Probably. The test case shows that the compiler fails to recognize that f() can
be optimzed a *magnitude* better, unless we explicitly "expand" the call graph
(NN>1). The stock version (NN==1) of f() is the slowest.
> Certainly nobody looked to optimize for these funny
> callgraphs.
It's still the call graph of f() only that f changes it's name in each call --
F<0,3>::f calls F<1,3>::f calls F<2,3>::f calls F<0,3>::f etc.
--
marco at technoboredom dot net changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|tree-optimization |c++
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44822