Novejsi WinAVR produkuje o 70% vetsi kod

Tomáš Halabala tomas.halabala@iol.cz
Čtvrtek Červenec 23 19:58:55 CEST 2009


Vsiml jsem si u GCC jeste jedne veci co se tyce inline vkladani kratkych 
funkci, ze velikost funkce nejak zvlastne urcuje jakoby podle radku kodu 
v C nebo aspon nezohlednuje delku asm useku. Proto taky v nekterych 
pripadech pouzivam atribut funkce noinline, protoze GCC inlinovalo i 
rozsahlejsi funkce, ktere meli telo napsane v asm.

Tomas

Petr Simek napsal(a):
> On Thu, 23 Jul 2009, Miroslav Šinko wrote:
> 
>> Prepinac -fno-inline-small-functions z toho odkazu na avrfreaks vyzera
>> dobre. V jednom projekte som si urobil funkciu delay (v asm nejake 2
>> vnorene cykly) a volal som ju pok...., no vela krat. Prekladac ju
>> vkladal vzdy inline, cim kod neprimerane narastol. Vtedy som to
>> poriesil atributom funkcie noinline. Ten prepinac som nepoznal, mozno
>> by to poriesil aj v pripadoch inych fuknkcii, ktore som mohol
>> prehliadnut. Takze vdaka za odkaz.
> 
> Potvrzuji - po pripojeni tohohle prepinace do Makefile je vysledek stejny
> jako u te predchozi verze winavr. Zapojenim dalsich prepinacu na te
> strance se kod jeste zmensil o 10% . Tak ted jsem na vazkach jestli se
> vracet ke stare verzi nebo si nechat tu novou :-)
> 
>> miro
> 



Další informace o konferenci Hw-list