// File: /workspace/github_cpp_makefile_star2_O2/luooofan[P]hblzbd_compiler/src/Pass/convert_ssa.cpp
// Function: ConvertSSA::AddBuiltInFunction(SSAModule*)
void ConvertSSA::AddBuiltInFunction(SSAModule* m) {
  auto memset_func = new SSAFunction("memset");
  m->AddBuiltinFunction(memset_func);
  glob_map["memset"] = new FunctionValue("memset", memset_func);
  auto getint_func = new SSAFunction("getint");
  m->AddBuiltinFunction(getint_func);
  glob_map["getint"] = new FunctionValue("getint", getint_func);
  auto getch_func = new SSAFunction("getch");
  m->AddBuiltinFunction(getch_func);
  glob_map["getch"] = new FunctionValue("getch", getch_func);
  auto getarray_func = new SSAFunction("getarray");
  m->AddBuiltinFunction(getarray_func);
  glob_map["getarray"] = new FunctionValue("getarray", getarray_func);
  auto putint_func = new SSAFunction("putint");
  m->AddBuiltinFunction(putint_func);
  glob_map["putint"] = new FunctionValue("putint", putint_func);
  auto putch_func = new SSAFunction("putch");
  m->AddBuiltinFunction(putch_func);
  glob_map["putch"] = new FunctionValue("putch", putch_func);
  auto putarray_func = new SSAFunction("putarray");
  m->AddBuiltinFunction(putarray_func);
  glob_map["putarray"] = new FunctionValue("putarray", putarray_func);
  auto _sysy_starttime_func = new SSAFunction("_sysy_starttime");
  m->AddBuiltinFunction(_sysy_starttime_func);
  glob_map["_sysy_starttime"] = new FunctionValue("_sysy_starttime", _sysy_starttime_func);
  auto _sysy_stoptime_func = new SSAFunction("_sysy_stoptime");
  m->AddBuiltinFunction(_sysy_stoptime_func);
  glob_map["_sysy_stoptime"] = new FunctionValue("_sysy_stoptime", _sysy_stoptime_func);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x50, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x23d41(%rip), %rsi     # 0x56903
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23cfe(%rip), %rsi     # 0x56903
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x23cd8(%rip), %rsi     # 0x56903
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
addq $0xe0, %rbx
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x23c3f(%rip), %rsi     # 0x568b8
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23bfc(%rip), %rsi     # 0x568b8
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x23bd6(%rip), %rsi     # 0x568b8
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x23b96(%rip), %rsi     # 0x568bf
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23b53(%rip), %rsi     # 0x568bf
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x23b2d(%rip), %rsi     # 0x568bf
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x23aec(%rip), %rsi     # 0x568c5
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23aa9(%rip), %rsi     # 0x568c5
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x23a83(%rip), %rsi     # 0x568c5
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x23a45(%rip), %rsi     # 0x568ce
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23a02(%rip), %rsi     # 0x568ce
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x239dc(%rip), %rsi     # 0x568ce
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x2399c(%rip), %rsi     # 0x568d5
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23959(%rip), %rsi     # 0x568d5
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x23933(%rip), %rsi     # 0x568d5
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x238f2(%rip), %rsi     # 0x568db
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x238af(%rip), %rsi     # 0x568db
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x23889(%rip), %rsi     # 0x568db
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r12
leaq 0x2384b(%rip), %rsi     # 0x568e4
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r12, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r15
leaq 0x23808(%rip), %rsi     # 0x568e4
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x268e2
leaq 0x237e2(%rip), %rsi     # 0x568e4
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r15, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
movl $0xb8, %edi
callq 0x8250
movq %rax, %r15
leaq 0x237ab(%rip), %rsi     # 0x568f4
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0x34da8
leaq 0x10(%rsp), %rdi
callq 0x8578
movq %r14, %rdi
movq %r15, %rsi
callq 0x27ef8
pushq $0x68
popq %rdi
callq 0x8250
movq %rax, %r14
leaq 0x23768(%rip), %rsi     # 0x568f4
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xa292
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x268e2
leaq 0x23742(%rip), %rsi     # 0x568f4
leaq 0x30(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0xa292
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x371d0
movq %r14, (%rax)
leaq 0x30(%rsp), %rdi
callq 0x8578
leaq 0x10(%rsp), %rdi
callq 0x8578
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x8578
jmp 0x33204
movq %rax, %rbx
xorl %ebp, %ebp
jmp 0x3320e
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0x8578
testb %bpl, %bpl
jne 0x33225
jmp 0x33303
movq %rax, %rbx
pushq $0x68
popq %rsi
movq %r14, %rdi
jmp 0x332fe
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x8578
jmp 0x33242
movq %rax, %rbx
movl $0xb8, %esi
jmp 0x332df
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
jmp 0x332ac
jmp 0x332bb
jmp 0x332c2
jmp 0x332d9
jmp 0x332e4
jmp 0x332f3
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x8578
jmp 0x332be
movq %rax, %rbx
xorl %ebp, %ebp
jmp 0x332c8
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0x8578
testb %bpl, %bpl
je 0x33303
jmp 0x332dc
movq %rax, %rbx
pushq $0x68
popq %rsi
movq %r15, %rdi
jmp 0x332fe
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x8578
jmp 0x332f6
movq %rax, %rbx
movl $0xb8, %esi
movq %r12, %rdi
callq 0x8260
movq %rbx, %rdi
callq 0x84d0
nop