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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage