Erklärung der GCC-Optimierung
Aus Hacker-Neugier frage ich mich, wiegcc
kann es schaffen, die Funktion darunter intelligent zu optimieren?
int c() {
int i, j = 0;
for (i = 0; i < 10; i++) {
j += i;
}
return j;
}
$objdump -D c.o
unten ist für Arm, aber x86 ist in der Logik nicht anders.
00000000 <c>:
0: 202d movs r0, #45 ; 0x2d
2: 4770 bx lr
Ich frage mich meistens, ob dies das Ergebnis einer Optimierungskette ist oder so etwas wie ein Template-Match? Gibt es Unterlagen zu solchen Optimierungen?