Wyjaśnienie optymalizacji gcc

Z ciekawości hakera zastanawiam się, jakgcc potrafi inteligentnie zoptymalizować poniższą funkcję?

int c() {
        int i, j = 0;
        for (i = 0; i < 10; i++) {
                j += i;
        }
        return j;
}

$objdump -D c.o poniżej jest dla ramienia, ale x86 nie różni się w logice.

00000000 <c>:
   0:   202d        movs    r0, #45 ; 0x2d
   2:   4770        bx  lr

Zastanawiam się głównie, czy jest to wynik łańcucha optymalizacji lub coś w rodzaju dopasowania szablonu? Czy jest jakaś dokumentacja dotycząca takich optymalizacji?

questionAnswers(1)

yourAnswerToTheQuestion