mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 10:33:59 -05:00
273 lines
6.1 KiB
JSON
Generated
273 lines
6.1 KiB
JSON
Generated
{
|
|
"asm": [
|
|
{
|
|
"text": "__cxx_global_var_init: # @__cxx_global_var_init",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": " pushq %rax",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " movl std::__ioinit, %edi",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " callq std::ios_base::Init::Init()",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " movl std::ios_base::Init::~Init(), %edi",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " movl std::__ioinit, %esi",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " movl $__dso_handle, %edx",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " popq %rax",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": " jmp __cxa_atexit # TAILCALL",
|
|
"source": {
|
|
"file": "/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/ \"iostream\"",
|
|
"line": 74
|
|
}
|
|
},
|
|
{
|
|
"text": "",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": ".LCPI1_0:",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": " .quad 4648342504644416635 # double 583.36000000000001",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": "foo(int, double, float): # @foo(int, double, float)",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": " movl $583, %eax # imm = 0x247",
|
|
"source": {
|
|
"file": null,
|
|
"line": 4
|
|
}
|
|
},
|
|
{
|
|
"text": " movsd .LCPI1_0(%rip), %xmm2 # xmm2 = mem[0],zero",
|
|
"source": {
|
|
"file": null,
|
|
"line": 6
|
|
}
|
|
},
|
|
{
|
|
"text": " ucomisd %xmm0, %xmm2",
|
|
"source": {
|
|
"file": null,
|
|
"line": 6
|
|
}
|
|
},
|
|
{
|
|
"text": " jbe .LBB1_2",
|
|
"source": {
|
|
"file": null,
|
|
"line": 6
|
|
}
|
|
},
|
|
{
|
|
"text": " leal (%rdi,%rdi,4), %ecx",
|
|
"source": {
|
|
"file": null,
|
|
"line": 7
|
|
}
|
|
},
|
|
{
|
|
"text": " xorps %xmm2, %xmm2",
|
|
"source": {
|
|
"file": null,
|
|
"line": 8
|
|
}
|
|
},
|
|
{
|
|
"text": " cvtss2sd %xmm1, %xmm2",
|
|
"source": {
|
|
"file": null,
|
|
"line": 8
|
|
}
|
|
},
|
|
{
|
|
"text": " cvtsi2sdl %ecx, %xmm3",
|
|
"source": {
|
|
"file": null,
|
|
"line": 8
|
|
}
|
|
},
|
|
{
|
|
"text": " mulsd %xmm0, %xmm3",
|
|
"source": {
|
|
"file": null,
|
|
"line": 8
|
|
}
|
|
},
|
|
{
|
|
"text": " ucomisd %xmm3, %xmm2",
|
|
"source": {
|
|
"file": null,
|
|
"line": 8
|
|
}
|
|
},
|
|
{
|
|
"text": " cvttss2si %xmm1, %eax",
|
|
"source": {
|
|
"file": null,
|
|
"line": 12
|
|
}
|
|
},
|
|
{
|
|
"text": " cmoval %ecx, %eax",
|
|
"source": {
|
|
"file": null,
|
|
"line": 8
|
|
}
|
|
},
|
|
{
|
|
"text": ".LBB1_2:",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": " retq",
|
|
"source": {
|
|
"file": null,
|
|
"line": 17
|
|
}
|
|
},
|
|
{
|
|
"text": "",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": "_GLOBAL__sub_I_example.cpp: # @_GLOBAL__sub_I_example.cpp",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": " jmp __cxx_global_var_init # TAILCALL",
|
|
"source": {
|
|
"file": null,
|
|
"line": 0
|
|
}
|
|
},
|
|
{
|
|
"text": "",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": "",
|
|
"source": null
|
|
},
|
|
{
|
|
"text": "",
|
|
"source": null
|
|
}
|
|
],
|
|
"cfg": {
|
|
"__cxx_global_var_init:": {
|
|
"nodes": [
|
|
{
|
|
"id": "__cxx_global_var_init:",
|
|
"label": "__cxx_global_var_init:\n pushq %rax\n movl std::__ioinit, %edi\n callq std::ios_base::Init::Init()\n movl std::ios_base::Init::~Init(), %edi\n movl std::__ioinit, %esi\n movl $__dso_handle, %edx\n popq %rax\n jmp __cxa_atexit"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "__cxx_global_var_init:",
|
|
"to": "null:",
|
|
"arrows": "to",
|
|
"color": "blue"
|
|
}
|
|
]
|
|
},
|
|
"foo(int, double, float):": {
|
|
"nodes": [
|
|
{
|
|
"id": "foo(int, double, float):",
|
|
"label": "foo(int, double, float):\n movl $583, %eax\n movsd .LCPI1_0(%rip), %xmm2\n ucomisd %xmm0, %xmm2\n jbe .LBB1_2"
|
|
},
|
|
{
|
|
"id": "foo(int, double, float):@14",
|
|
"label": "foo(int, double, float):@14\n leal (%rdi,%rdi,4), %ecx\n xorps %xmm2, %xmm2\n cvtss2sd %xmm1, %xmm2\n cvtsi2sdl %ecx, %xmm3\n mulsd %xmm0, %xmm3\n ucomisd %xmm3, %xmm2\n cvttss2si %xmm1, %eax\n cmoval %ecx, %eax"
|
|
},
|
|
{
|
|
"id": ".LBB1_2:",
|
|
"label": ".LBB1_2:\n retq"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "foo(int, double, float):",
|
|
"to": ".LBB1_2:",
|
|
"arrows": "to",
|
|
"color": "green"
|
|
},
|
|
{
|
|
"from": "foo(int, double, float):",
|
|
"to": "foo(int, double, float):@14",
|
|
"arrows": "to",
|
|
"color": "red"
|
|
},
|
|
{
|
|
"from": "foo(int, double, float):@14",
|
|
"to": ".LBB1_2:",
|
|
"arrows": "to",
|
|
"color": "grey"
|
|
}
|
|
]
|
|
},
|
|
"_GLOBAL__sub_I_example.cpp:": {
|
|
"nodes": [
|
|
{
|
|
"id": "_GLOBAL__sub_I_example.cpp:",
|
|
"label": "_GLOBAL__sub_I_example.cpp:\n jmp __cxx_global_var_init"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"from": "_GLOBAL__sub_I_example.cpp:",
|
|
"to": "null:",
|
|
"arrows": "to",
|
|
"color": "blue"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|