blob: 0fa15d6dff15d041660b993692cf2e5b6e711054 [file] [log] [blame] [raw]
{
"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",
"color": "#99ccff",
"shape": "box"
}
],
"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",
"color": "#99ccff",
"shape": "box"
},
{
"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",
"color": "#99ccff",
"shape": "box"
},
{
"id": ".LBB1_2:",
"label": ".LBB1_2:\n retq",
"color": "#99ccff",
"shape": "box"
}
],
"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",
"color": "#99ccff",
"shape": "box"
}
],
"edges": [
{
"from": "_GLOBAL__sub_I_example.cpp:",
"to": "null:",
"arrows": "to",
"color": "blue"
}
]
}
}
}