------- Additional Comments From steven at gcc dot gnu dot org 2005-06-27 06:38 ------- As you can see from those numbers Dan Kegel posted, this kind of test case is very sensitive to the intermediate representation presented to the inliner and to inliner heuristics. Personally, I don't think it is worth keeping a bug report like this opened. This kind of almost-random behavior is similar to the reload failures on x86: You'll always be able to construct a test case that will fail with a "fixed" compiler for one particular case. However, in this case there are still a number of things that are interesting to look at: 1) GCC 4.1 has profile guided inlining. Does it help in this case? 2) Does the early inlining patch [1] help? 3) Does the pre-inlining patch and the IPA stuff help? (i.e. try the tree-profiling-branch with all pistons firing ;-) Personally, I expect that this is a case where the pre-inline optimizations may be helpful Could someone construct a graphical representation of the call graphs for GCC 3.4 and GCC 4.1 and compare them? I'm very curious which function (or functions) are apparently inlined only by GCC 3.4 and not by any other release. [1] http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01839.html
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17863