blob: 930bd258e2c7a86073fa55f5fde89aa87aa22506 [file] [log] [blame] [raw]
{
"asm": [
{
"labels": [],
"source": null,
"text": " .file \"example.cpp\""
},
{
"labels": [],
"source": null,
"text": "__SREG__ = 0x3f"
},
{
"labels": [],
"source": null,
"text": "__SP_H__ = 0x3e"
},
{
"labels": [],
"source": null,
"text": "__SP_L__ = 0x3d"
},
{
"labels": [],
"source": null,
"text": "__CCP__ = 0x34"
},
{
"labels": [],
"source": null,
"text": "__tmp_reg__ = 0"
},
{
"labels": [],
"source": null,
"text": "__zero_reg__ = 1"
},
{
"labels": [
{
"name": ".Ltext0",
"range": {
"endCol": 54,
"startCol": 47
}
}
],
"source": null,
"text": " .stabs \"/compiler-explorer/\",100,0,4,.Ltext0"
},
{
"labels": [
{
"name": ".Ltext0",
"range": {
"endCol": 94,
"startCol": 87
}
}
],
"source": null,
"text": " .stabs \"/tmp/compiler-explorer-compiler116922-97-ldr5x6/example.cpp\",100,0,4,.Ltext0"
},
{
"labels": [],
"source": null,
"text": " .text"
},
{
"labels": [],
"source": null,
"text": ".Ltext0:"
},
{
"labels": [],
"source": null,
"text": " .stabs \"gcc2_compiled.\",60,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"__builtin_va_list:t(0,1)=*(0,2)=(0,2)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"complex long double:t(0,3)=R3;8;0;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"complex double:t(0,4)=R3;8;0;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"complex float:t(0,5)=R3;8;0;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"complex int:t(0,6)=s4real:(0,7)=r(0,7);-32768;32767;,0,16;imag:(0,7),16,16;;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"long long unsigned int:t(0,8)=@s64;r(0,8);0;01777777777777777777777;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"long unsigned int:t(0,9)=@s32;r(0,9);0;037777777777;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"unsigned int:t(0,10)=r(0,10);0;0177777;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"unsigned char:t(0,11)=@s8;r(0,11);0;255;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"long long int:t(0,12)=@s64;r(0,12);01000000000000000000000;0777777777777777777777;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"long int:t(0,13)=@s32;r(0,13);020000000000;017777777777;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"int:t(0,7)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"signed char:t(0,14)=@s8;r(0,14);-128;127;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"char:t(0,15)=r(0,15);0;127;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"signed:t(0,7)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"unsigned long:t(0,9)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"long long unsigned:t(0,8)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"short int:t(0,16)=r(0,16);-32768;32767;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"short unsigned int:t(0,17)=r(0,17);0;0177777;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"unsigned short:t(0,17)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"float:t(0,18)=r(0,7);4;0;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"double:t(0,19)=r(0,7);4;0;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"long double:t(0,20)=r(0,7);4;0;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"void:t(0,2)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"wchar_t:t(0,21)=r(0,21);-32768;32767;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"bool:t(0,22)=@s8;-16;\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"__vtbl_ptr_type:t(0,23)=*(0,24)=f(0,7)\",128,0,0,0"
},
{
"labels": [],
"source": null,
"text": " .stabs \"foo():F(0,7)\",36,0,2,foo()"
},
{
"labels": [],
"source": null,
"text": ".global foo()"
},
{
"labels": [],
"source": null,
"text": " .type foo(), @function"
},
{
"labels": [],
"source": null,
"text": "foo():"
},
{
"labels": [],
"source": null,
"text": " .stabd 46,0,0"
},
{
"labels": [
{
"name": ".LM0",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,2,.LM0-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM0:"
},
{
"labels": [],
"source": null,
"text": ".LFBB1:"
},
{
"labels": [],
"source": {
"file": null,
"line": 2
},
"text": " push r29"
},
{
"labels": [],
"source": {
"file": null,
"line": 2
},
"text": " push r28"
},
{
"labels": [],
"source": {
"file": null,
"line": 2
},
"text": " rcall ."
},
{
"labels": [],
"source": {
"file": null,
"line": 2
},
"text": " rcall ."
},
{
"labels": [
{
"name": "__SP_L__",
"range": {
"endCol": 24,
"startCol": 16
}
}
],
"source": {
"file": null,
"line": 2
},
"text": " in r28,__SP_L__"
},
{
"labels": [
{
"name": "__SP_H__",
"range": {
"endCol": 24,
"startCol": 16
}
}
],
"source": {
"file": null,
"line": 2
},
"text": " in r29,__SP_H__"
},
{
"labels": [],
"source": null,
"text": "/* prologue: function */"
},
{
"labels": [],
"source": null,
"text": "/* frame size = 4 */"
},
{
"labels": [],
"source": null,
"text": "/* stack size = 6 */"
},
{
"labels": [],
"source": null,
"text": ".L__stack_usage = 6"
},
{
"labels": [],
"source": null,
"text": ".LBB2:"
},
{
"labels": [
{
"name": ".LM1",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,3,.LM1-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM1:"
},
{
"labels": [
{
"name": "__zero_reg__",
"range": {
"endCol": 29,
"startCol": 17
}
}
],
"source": {
"file": null,
"line": 3
},
"text": " std Y+2,__zero_reg__"
},
{
"labels": [
{
"name": "__zero_reg__",
"range": {
"endCol": 29,
"startCol": 17
}
}
],
"source": {
"file": null,
"line": 3
},
"text": " std Y+1,__zero_reg__"
},
{
"labels": [],
"source": null,
"text": ".LBB3:"
},
{
"labels": [
{
"name": ".LM2",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,4,.LM2-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM2:"
},
{
"labels": [
{
"name": "__zero_reg__",
"range": {
"endCol": 29,
"startCol": 17
}
}
],
"source": {
"file": null,
"line": 4
},
"text": " std Y+4,__zero_reg__"
},
{
"labels": [
{
"name": "__zero_reg__",
"range": {
"endCol": 29,
"startCol": 17
}
}
],
"source": {
"file": null,
"line": 4
},
"text": " std Y+3,__zero_reg__"
},
{
"labels": [
{
"name": ".L2",
"range": {
"endCol": 17,
"startCol": 14
}
}
],
"source": {
"file": null,
"line": 4
},
"text": " rjmp .L2"
},
{
"labels": [],
"source": null,
"text": ".L4:"
},
{
"labels": [
{
"name": ".LM3",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,5,.LM3-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM3:"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " rcall bar()"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " ldd r18,Y+1"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " ldd r19,Y+2"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " add r24,r18"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " adc r25,r19"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " std Y+2,r25"
},
{
"labels": [],
"source": {
"file": null,
"line": 5
},
"text": " std Y+1,r24"
},
{
"labels": [
{
"name": ".LM4",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,4,.LM4-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM4:"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " ldd r24,Y+3"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " ldd r25,Y+4"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " adiw r24,1"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " std Y+4,r25"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " std Y+3,r24"
},
{
"labels": [],
"source": null,
"text": ".L2:"
},
{
"labels": [
{
"name": ".LM5",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,4,.LM5-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM5:"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " ldi r18,lo8(1)"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " ldd r24,Y+3"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " ldd r25,Y+4"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " cpi r24,100"
},
{
"labels": [
{
"name": "__zero_reg__",
"range": {
"endCol": 29,
"startCol": 17
}
}
],
"source": {
"file": null,
"line": 4
},
"text": " cpc r25,__zero_reg__"
},
{
"labels": [
{
"name": ".L3",
"range": {
"endCol": 17,
"startCol": 14
}
}
],
"source": {
"file": null,
"line": 4
},
"text": " brlt .L3"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " ldi r18,lo8(0)"
},
{
"labels": [],
"source": null,
"text": ".L3:"
},
{
"labels": [],
"source": {
"file": null,
"line": 4
},
"text": " tst r18"
},
{
"labels": [
{
"name": ".L4",
"range": {
"endCol": 17,
"startCol": 14
}
}
],
"source": {
"file": null,
"line": 4
},
"text": " brne .L4"
},
{
"labels": [],
"source": null,
"text": ".LBE3:"
},
{
"labels": [
{
"name": ".LM6",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,7,.LM6-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM6:"
},
{
"labels": [],
"source": {
"file": null,
"line": 7
},
"text": " ldd r24,Y+1"
},
{
"labels": [],
"source": {
"file": null,
"line": 7
},
"text": " ldd r25,Y+2"
},
{
"labels": [],
"source": null,
"text": "/* epilogue start */"
},
{
"labels": [],
"source": null,
"text": ".LBE2:"
},
{
"labels": [
{
"name": ".LM7",
"range": {
"endCol": 28,
"startCol": 24
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 35,
"startCol": 29
}
}
],
"source": null,
"text": " .stabn 68,0,8,.LM7-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".LM7:"
},
{
"labels": [
{
"name": "__tmp_reg__",
"range": {
"endCol": 24,
"startCol": 13
}
}
],
"source": {
"file": null,
"line": 8
},
"text": " pop __tmp_reg__"
},
{
"labels": [
{
"name": "__tmp_reg__",
"range": {
"endCol": 24,
"startCol": 13
}
}
],
"source": {
"file": null,
"line": 8
},
"text": " pop __tmp_reg__"
},
{
"labels": [
{
"name": "__tmp_reg__",
"range": {
"endCol": 24,
"startCol": 13
}
}
],
"source": {
"file": null,
"line": 8
},
"text": " pop __tmp_reg__"
},
{
"labels": [
{
"name": "__tmp_reg__",
"range": {
"endCol": 24,
"startCol": 13
}
}
],
"source": {
"file": null,
"line": 8
},
"text": " pop __tmp_reg__"
},
{
"labels": [],
"source": {
"file": null,
"line": 8
},
"text": " pop r28"
},
{
"labels": [],
"source": {
"file": null,
"line": 8
},
"text": " pop r29"
},
{
"labels": [],
"source": {
"file": null,
"line": 8
},
"text": " ret"
},
{
"labels": [],
"source": null,
"text": " .size foo(), .-foo()"
},
{
"labels": [],
"source": null,
"text": " .stabs \"a:(0,7)\",128,0,3,1"
},
{
"labels": [
{
"name": ".LBB2",
"range": {
"endCol": 30,
"startCol": 25
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 37,
"startCol": 31
}
}
],
"source": null,
"text": " .stabn 192,0,0,.LBB2-.LFBB1"
},
{
"labels": [],
"source": null,
"text": " .stabs \"i:(0,7)\",128,0,4,3"
},
{
"labels": [
{
"name": ".LBB3",
"range": {
"endCol": 30,
"startCol": 25
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 37,
"startCol": 31
}
}
],
"source": null,
"text": " .stabn 192,0,0,.LBB3-.LFBB1"
},
{
"labels": [
{
"name": ".LBE3",
"range": {
"endCol": 30,
"startCol": 25
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 37,
"startCol": 31
}
}
],
"source": null,
"text": " .stabn 224,0,0,.LBE3-.LFBB1"
},
{
"labels": [
{
"name": ".LBE2",
"range": {
"endCol": 30,
"startCol": 25
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 37,
"startCol": 31
}
}
],
"source": null,
"text": " .stabn 224,0,0,.LBE2-.LFBB1"
},
{
"labels": [],
"source": null,
"text": ".Lscope1:"
},
{
"labels": [
{
"name": ".Lscope1",
"range": {
"endCol": 35,
"startCol": 27
}
},
{
"name": ".LFBB1",
"range": {
"endCol": 42,
"startCol": 36
}
}
],
"source": null,
"text": " .stabs \"\",36,0,0,.Lscope1-.LFBB1"
},
{
"labels": [],
"source": null,
"text": " .stabd 78,0,0"
},
{
"labels": [
{
"name": ".Letext0",
"range": {
"endCol": 36,
"startCol": 28
}
}
],
"source": null,
"text": " .stabs \"\",100,0,0,.Letext0"
},
{
"labels": [],
"source": null,
"text": ".Letext0:"
}
],
"labelDefinitions": {
".L2": 86,
".L3": 96,
".L4": 69,
".LBB2": 58,
".LBB3": 63,
".LBE2": 105,
".LBE3": 99,
".LFBB1": 47,
".LM0": 46,
".LM1": 60,
".LM2": 65,
".LM3": 71,
".LM4": 80,
".LM5": 88,
".LM6": 101,
".LM7": 107,
".Letext0": 126,
".Lscope1": 122,
".Ltext0": 11,
"__CCP__": 5,
"__SP_H__": 3,
"__SP_L__": 4,
"__SREG__": 2,
"__tmp_reg__": 6,
"__zero_reg__": 7
}
}