// File: /workspace/github_cpp_makefile_star2_O1/sighingnow[P]compile-pascal/pl0_opt.cpp
// Function: BasicBlock::dump()
void BasicBlock::dump() {
    cout << ";; +++++++++++++++++++ Basic block: ";
    if (this->no == 0) {
        cout << "header ";
        cout << "begin with: " << this->begin << " ";
        cout << "end with: " << this->end << " ";
    }
    else {
        cout << this->no << " ";
        cout << "prefix: [";
        for (auto && i: this->prefix) { cout << i << " "; }
        cout << "]  ";
        cout << "suffix: [";
        for (auto && i: this->suffix) { cout << i << " "; }
        cout << "]";
    }
    if (this->is_end) { cout << " is end "; }
    cout << endl;
    for (auto && c: this->code) {
        cout << ";; " << c.str() << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x40b62(%rip), %r14     # 0xbffd8
leaq 0x19803(%rip), %rsi     # 0x98c80
movl $0x24, %edx
movq %r14, %rdi
callq 0x52e0
movl (%rbx), %esi
movq 0x40b45(%rip), %r15     # 0xbffd8
testl %esi, %esi
je 0x7f58f
movq %r15, %rdi
callq 0x53c0
leaq 0x19e5c(%rip), %rsi     # 0x99306
movl $0x1, %edx
movq %rax, %rdi
callq 0x52e0
leaq 0x19807(%rip), %rsi     # 0x98cc5
movl $0x9, %edx
movq %r15, %rdi
callq 0x52e0
movq 0x30(%rbx), %r13
movq 0x38(%rbx), %rbp
cmpq %rbp, %r13
je 0x7f50b
movq 0x40af9(%rip), %r15     # 0xbffd8
leaq 0x19e20(%rip), %r12     # 0x99306
movl (%r13), %esi
movq %r15, %rdi
callq 0x53c0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
addq $0x4, %r13
cmpq %rbp, %r13
jne 0x7f4e6
movq 0x40ac6(%rip), %r15     # 0xbffd8
leaq 0x197b6(%rip), %rsi     # 0x98ccf
movl $0x3, %edx
movq %r15, %rdi
callq 0x52e0
leaq 0x197a6(%rip), %rsi     # 0x98cd3
movl $0x9, %edx
movq %r15, %rdi
callq 0x52e0
movq 0x48(%rbx), %r13
movq 0x50(%rbx), %rbp
cmpq %rbp, %r13
je 0x7f57a
movq 0x40a8a(%rip), %r15     # 0xbffd8
leaq 0x19db1(%rip), %r12     # 0x99306
movl (%r13), %esi
movq %r15, %rdi
callq 0x53c0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
addq $0x4, %r13
cmpq %rbp, %r13
jne 0x7f555
movq 0x40a57(%rip), %rdi     # 0xbffd8
leaq 0x196a0(%rip), %rsi     # 0x98c28
movl $0x1, %edx
jmp 0x7f603
leaq 0x1970f(%rip), %rsi     # 0x98ca5
movl $0x7, %edx
movq %r15, %rdi
callq 0x52e0
leaq 0x19703(%rip), %rsi     # 0x98cad
movl $0xc, %edx
movq %r15, %rdi
callq 0x52e0
movl 0x8(%rbx), %esi
movq %r15, %rdi
callq 0x53c0
leaq 0x19d3d(%rip), %r12     # 0x99306
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
leaq 0x196da(%rip), %rsi     # 0x98cba
movl $0xa, %edx
movq %r15, %rdi
callq 0x52e0
movl 0xc(%rbx), %esi
movq %r15, %rdi
callq 0x53c0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
cmpb $0x1, 0x5(%rbx)
jne 0x7f626
movq 0x409c3(%rip), %rdi     # 0xbffd8
leaq 0x196c1(%rip), %rsi     # 0x98cdd
movl $0x8, %edx
callq 0x52e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5240
movsbl %al, %esi
movq %r14, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x5190
movq 0x18(%rbx), %r14
movq 0x20(%rbx), %rbp
cmpq %rbp, %r14
je 0x7f6ed
movq 0x40973(%rip), %rbx     # 0xbffd8
leaq 0x199f9(%rip), %r15     # 0x99065
leaq 0x8(%rsp), %r12
movl $0x3, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x52e0
movq %r12, %rdi
movq %r14, %rsi
callq 0x688a0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x52e0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x5240
movsbl %al, %esi
movq %r13, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x5190
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x7f6e4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
addq $0x50, %r14
cmpq %rbp, %r14
jne 0x7f671
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x7f71b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
movq %rbx, %rdi
callq 0x53d0
nop