6. 8. 2026 8:55
V moderním gcc 16.1 docela překvápko:
void main_w_register(void) { register unsigned char a; register unsigned char b; register unsigned char c; a = 10; b = 20; c = a + b;}
"main_w_register": push rbp mov rbp, rsp nop pop rbp ret
6. 8. 2026 11:48
Proč překvápko? "c" je neživá proměnná, "c=a+b" je mrtvý kód, v důsledku i "a" a "b". "register" na to nemá vliv, stačí rozpoznání živých proměnných a odstranění mrtvého kódu.