Skip to contentSkip to conversation

gcc-3.0.1 and 2.4.7-ac1

PATCH Petr Vandrovec 1 participant 1 message Jul 27, 2001

lore
Share & tools
lore
#0 lore raw
Quoted 8 lines · Florian Weimer
Quoted 1 line · Petr Vandrovec

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 [email protected]