Объяснение оптимизации GCC
Интересно, как из любопытства хакеровgcc
Можно ли умно оптимизировать функцию ниже этого?
int c() {
int i, j = 0;
for (i = 0; i < 10; i++) {
j += i;
}
return j;
}
$objdump -D c.o
ниже для руки, но x86 не отличается по логике.
00000000 <c>:
0: 202d movs r0, #45 ; 0x2d
2: 4770 bx lr
Меня больше всего интересует, является ли это результатом цепочки оптимизаций или чем-то вроде совпадения шаблонов? Есть ли документация по такой оптимизации?