Re: [PATCH] gcc-3.0.1 and 2.4.7-ac1

Petr Vandrovec
2001-07-27T16:14:58Z

On 27 Jul 01 at 18:03, Florian Weimer wrote:
> "Petr Vandrovec" <VANDROVE@vc.cvut.cz> writes:
>
> > Just adding '-finline-limit=150' fixes all of them
>
> This is not a fix, this is a workaround which is suitable for some
> specific GCC release(s). The optimization decisions surrounding
> inlining are likely to change again, so this will break almost
> certainly in the future.

I found that main problem is in __constant_memcpy. This is very large
in internal representation (~70 'units'), so any kernel function which
contains two memcpy calls with constant length cannot be inlined with
current settings because of it contains 140+ internal operations - although
if compiler then generates static function (instead of inlined), it is ~10
i386 operations long, from which 4 are push %edi/%esi and pop %esi/%edi...

Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz