| { |
| "asm": [ |
| { |
| "labels": [], |
| "source": null, |
| "text": " .file \"example.cpp\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".text" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".Ltext0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .balign 2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .global foo()" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .type foo(), @function" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "foo():" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LFB0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .file 1 \"/tmp/compiler-explorer-compiler118016-63-en7728.30nfm/example.cpp\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .loc 1 1 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; start of function" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; framesize_regs: 2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; framesize_locals: 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; framesize_outgoing: 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; framesize: 2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; elim ap -> fp 4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; elim fp -> sp 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": "; saved regs: R4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " ; start of prologue" |
| }, |
| { |
| "labels": [], |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "text": " PUSHM.W #1, R4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LCFI0:" |
| }, |
| { |
| "labels": [], |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "text": " MOV.W R1, R4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LCFI1:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " ; end of prologue" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .loc 1 2 0" |
| }, |
| { |
| "labels": [], |
| "source": { |
| "file": null, |
| "line": 2 |
| }, |
| "text": " MOV.B #3, R12" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .loc 1 3 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " ; start of epilogue" |
| }, |
| { |
| "labels": [], |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "text": " POPM.W #1, r4" |
| }, |
| { |
| "labels": [], |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "text": " RET" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LFE0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .size foo(), .-foo()" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .section .debug_frame,\"\",@progbits" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".Lframe0:" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LECIE0", |
| "range": { |
| "endCol": 24, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".LSCIE0", |
| "range": { |
| "endCol": 32, |
| "startCol": 25 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LECIE0-.LSCIE0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LSCIE0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .4byte 0xffffffff" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x3" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .string \"\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .sleb128 -2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0xc" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x80" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .balign 4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LECIE0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LSFDE0:" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LEFDE0", |
| "range": { |
| "endCol": 24, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".LASFDE0", |
| "range": { |
| "endCol": 33, |
| "startCol": 25 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LEFDE0-.LASFDE0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LASFDE0:" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Lframe0", |
| "range": { |
| "endCol": 25, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Lframe0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LFB0", |
| "range": { |
| "endCol": 22, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LFB0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LFE0", |
| "range": { |
| "endCol": 22, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".LFB0", |
| "range": { |
| "endCol": 28, |
| "startCol": 23 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LFE0-.LFB0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x4" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LCFI0", |
| "range": { |
| "endCol": 23, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".LFB0", |
| "range": { |
| "endCol": 29, |
| "startCol": 24 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LCFI0-.LFB0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0xe" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x84" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x4" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LCFI1", |
| "range": { |
| "endCol": 23, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".LCFI0", |
| "range": { |
| "endCol": 30, |
| "startCol": 24 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LCFI1-.LCFI0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0xd" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .balign 4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LEFDE0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".text" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".Letext0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .section .debug_info,\"\",@progbits" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".Ldebug_info0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .4byte 0x3e" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .2byte 0x4" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Ldebug_abbrev0", |
| "range": { |
| "endCol": 32, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Ldebug_abbrev0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LASF0", |
| "range": { |
| "endCol": 23, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LASF0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x4" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LASF1", |
| "range": { |
| "endCol": 23, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LASF1" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Ltext0", |
| "range": { |
| "endCol": 24, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Ltext0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Letext0", |
| "range": { |
| "endCol": 25, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".Ltext0", |
| "range": { |
| "endCol": 33, |
| "startCol": 26 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Letext0-.Ltext0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Ldebug_line0", |
| "range": { |
| "endCol": 30, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Ldebug_line0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .string \"foo\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x1" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LASF2", |
| "range": { |
| "endCol": 23, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LASF2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .4byte 0x3a" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LFB0", |
| "range": { |
| "endCol": 22, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LFB0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".LFE0", |
| "range": { |
| "endCol": 22, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".LFB0", |
| "range": { |
| "endCol": 28, |
| "startCol": 23 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .LFE0-.LFB0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x9c" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x5" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .string \"int\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .section .debug_abbrev,\"\",@progbits" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".Ldebug_abbrev0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x11" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x25" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xe" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x13" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xb" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xe" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x11" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x12" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x6" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x10" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x17" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x2" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x2e" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3f" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x19" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x8" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3a" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xb" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3b" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xb" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x6e" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xe" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x49" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x13" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x11" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x12" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x6" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x40" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x18" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x2117" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x19" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x24" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xb" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xb" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3e" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0xb" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x3" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .uleb128 0x8" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .section .debug_aranges,\"\",@progbits" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .4byte 0x1c" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .2byte 0x2" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Ldebug_info0", |
| "range": { |
| "endCol": 30, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Ldebug_info0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0x4" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .2byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .2byte 0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Ltext0", |
| "range": { |
| "endCol": 24, |
| "startCol": 17 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Ltext0" |
| }, |
| { |
| "labels": [ |
| { |
| "name": ".Letext0", |
| "range": { |
| "endCol": 25, |
| "startCol": 17 |
| } |
| }, |
| { |
| "name": ".Ltext0", |
| "range": { |
| "endCol": 33, |
| "startCol": 26 |
| } |
| } |
| ], |
| "source": null, |
| "text": " .4byte .Letext0-.Ltext0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .4byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .4byte 0" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .section .debug_line,\"\",@progbits" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".Ldebug_line0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .section .debug_str,\"MS\",@progbits,1" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LASF2:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .string \"foo()\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LASF0:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .string \"GNU C++14 6.2.1 20161212 -g -std=c++1z\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": ".LASF1:" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .string \"/tmp/compiler-explorer-compiler118016-63-en7728.30nfm/example.cpp\"" |
| }, |
| { |
| "labels": [], |
| "source": null, |
| "text": " .ident \"GCC: (SOMNIUM Technologies Limited - msp430-gcc 6.2.1.16) 6.2.1 20161212\"" |
| } |
| ], |
| "labelDefinitions": { |
| ".LASF0": 171, |
| ".LASF1": 173, |
| ".LASF2": 169, |
| ".LASFDE0": 52, |
| ".LCFI0": 21, |
| ".LCFI1": 23, |
| ".LECIE0": 49, |
| ".LEFDE0": 67, |
| ".LFB0": 8, |
| ".LFE0": 31, |
| ".LSCIE0": 36, |
| ".Ldebug_abbrev0": 99, |
| ".Ldebug_info0": 71, |
| ".Ldebug_line0": 167, |
| ".Letext0": 69, |
| ".Lframe0": 34, |
| ".Ltext0": 3 |
| } |
| } |