Was die GCC-Version angeht, kann man mit 3.4.6 prima leben. Ich hab mal n Code vergleich gegen die 4.1.x gemacht, und der Code in der 4-er war nicht so dicht wie in der 3-er!

Momentan gab es da vor allem interne Umstellungen auf SSA, weil diese Darstellung sehr gut geeignet ist, um hardware-unabhängige Optimierungen zu machen. Momentan wird der Code innerhalb von GCC 4 also folgendwermassen transformiert:

C/C++/Java/... --> tree --> SSA --> tree --> RTL --> asm

Zitat Zitat von izaseba
Das einzigste was hier auffällt, man könnte die Funktion add komplett wegoptimieren, [...]
[-X

Nein. Die Funktion könnte von einem anderen Modul aufgerufen werden. Sie wegzulassen könnte also zu einem Fehler zur Linkzeit führen!

Wenn die Funktion nur in diesem Modul auftaucht, dann kann man sie als "static" deklarieren und siehe, GCC wirft sie weg bzw. warnt an, daß da was unnötiges steht. Ganz wie erwünscht...