I'll add the machine cycles for you:
00000624 <_Z10updateLEDsv>:
624: 20 91 c2 01 lds r18, 0x01C2 (2)
628: 30 91 c3 01 lds r19, 0x01C3 (2)
62c: 40 91 c4 01 lds r20, 0x01C4 (2)
630: 50 91 c5 01 lds r21, 0x01C5 (2)
634: 80 91 a5 02 lds r24, 0x02A5 (2)
638: 90 91 a6 02 lds r25, 0x02A6 (2)
63c: a0 91 a7 02 lds r26, 0x02A7 (2)
640: b0 91 a8 02 lds r27, 0x02A8 (2)
644: 28 17 cp r18, r24 (1)
646: 39 07 cpc r19, r25 (1)
648: 4a 07 cpc r20, r26 (1)
64a: 5b 07 cpc r21, r27 (1)
64c: 08 f4 brcc .+2 ; 0x650 <_Z10updateLEDsv+0x2c> (1/2)
64e: 31 c0 rjmp .+98 ; 0x6b2 <_Z10updateLEDsv+0x8e> (2)
650: f8 94 cli (1)
652: ec e9 ldi r30, 0x9C ; 156 (1)
654: f2 e0 ldi r31, 0x02 ; 2 (1)
656: 82 91 ld r24, -Z (2)
658: 8e bd out 0x2e, r24 ; 46 (1)
65a: 00 00 nop (1)
65c: 00 00 nop (1)
65e: 00 00 nop (1)
660: 00 00 nop (1)
662: 00 00 nop (1)
664: 00 00 nop (1)
666: 00 00 nop (1)
668: 00 00 nop (1)
66a: 00 00 nop (1)
66c: 00 00 nop (1)
66e: 82 e0 ldi r24, 0x02 ; 2 (1)
670: e4 35 cpi r30, 0x54 ; 84 (1)
672: f8 07 cpc r31, r24 (1)
674: 81 f7 brne .-32 ; 0x656 <_Z10updateLEDsv+0x32> (1/2)
676: 00 00 nop (1)
678: 00 00 nop (1)
67a: 00 00 nop (1)
67c: 00 00 nop (1)
67e: 00 00 nop (1)
680: 00 00 nop (1)
682: 00 00 nop (1)
684: 00 00 nop (1)
686: 00 00 nop (1)
688: 00 00 nop (1)
68a: 8d b5 in r24, 0x2d ; 45 (1)
68c: 8f 77 andi r24, 0x7F ; 127 (1)
68e: 8d bd out 0x2d, r24 ; 45 (1)
690: 2a 98 cbi 0x05, 2 ; 5 (2)
692: 2a 9a sbi 0x05, 2 ; 5 (2)
694: 2b 9a sbi 0x05, 3 ; 5 (2)
696: 2b 98 cbi 0x05, 3 ; 5 (2)
698: 78 94 sei (1)
69a: 2f 5d subi r18, 0xDF ; 223 (1)
69c: 3f 4f sbci r19, 0xFF ; 255 (1)
69e: 4f 4f sbci r20, 0xFF ; 255 (1)
6a0: 5f 4f sbci r21, 0xFF ; 255 (1)
6a2: 20 93 a5 02 sts 0x02A5, r18 (2)
6a6: 30 93 a6 02 sts 0x02A6, r19 (2)
6aa: 40 93 a7 02 sts 0x02A7, r20 (2)
6ae: 50 93 a8 02 sts 0x02A8, r21 (2)
6b2: 08 95 ret (4)
You can disassemble the .ELF file you know, that gives you the source as well:
avr-objdump -S -z /pathname/whatever.cpp.elf