http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54965
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-10-18 CC| |hubicka at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Known to work| |4.5.4, 4.7.2 Target Milestone|--- |4.6.4 Summary|[4.6] sorry, unimplemented: |[4.6 Regression] sorry, |inlining failed in call to |unimplemented: inlining |'foo': function not |failed in call to 'foo': |considered for inlining |function not considered for | |inlining Ever Confirmed|0 |1 Known to fail| |4.6.4 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-18 09:52:27 UTC --- void combine_conjoint_xor_ca_float () { combine_channel_t j = pd_combine_conjoint_xor, k = pd_combine_conjoint_xor; a[0] = k (0, b, 0, a[0]); a[0] = k (0, b, 0, a[0]); a[0] = k (0, b, 0, a[0]); a[0] = j (0, c[0], 0, a[0]); a[0] = k (0, c[0], 0, a[0]); a[0] = k (0, c[0], 0, a[0]); a[0] = k (0, c[0], 0, a[0]); you are using indirect function calls here, GCC in 4.6 is not smart enough to transform them to direct calls before inlining. Inlining of always-inline indirect function calls is not going to work reliably. Don't use always-inline or don't use indirect function calls to always-inline functions. It makes always-inline function calls survive until IPA inlining where we seem to honor limits even though we say we should disregard them. Honza? Considering pd_combine_conjoint_xor with 383 size to be inlined into combine_conjoint_xor_ca_float in t.i:53 Estimated growth after inlined into all callees is +748 insns. Estimated badness is -2147483648, frequency 1.00. Processing frequency pd_combine_conjoint_xor Called by combine_conjoint_xor_ca_float that is normal or hot Inlined into combine_conjoint_xor_ca_float which now has time 1402 and size 2342,net change of +374. Considering pd_combine_conjoint_xor with 383 size to be inlined into combine_conjoint_xor_ca_float in t.i:54 Estimated growth after inlined into all callees is +374 insns. Estimated badness is -2147483648, frequency 1.00. Not inlining into combine_conjoint_xor_ca_float:--param large-function-growth limit reached.