// File: luooofan[P]hblzbd_compiler/src/Pass/reach_define.cpp
// Function: print_set(IRModule*)
void print_set(IRModule *m) {
  for (auto func : m->func_list_) {
    for (auto bb : func->bb_list_) {
      std::cout << "BasicBlock: " << bb->IndexInFunc() << std::endl;
      std::cout << "reach_in_: \n";
      for (auto ir : bb->reach_in_) {
        ir->PrintIR();
      }
      std::cout << "reach_out_: \n";
      for (auto ir : bb->reach_out_) {
        ir->PrintIR();
      }
      std::cout << "gen_: \n";
      for (auto ir : bb->gen_) {
        ir->PrintIR();
      }
      std::cout << "kill_: \n";
      for (auto ir : bb->kill_) {
        ir->PrintIR();
      }
    }
  }
}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq 0xd0(%rsp), %rax
addq $0x28, %rax
movq %rax, 0xc8(%rsp)
movq 0xc8(%rsp), %rdi
callq 0x1d3c0
movq %rax, 0xc0(%rsp)
movq 0xc8(%rsp), %rdi
callq 0x1d240
movq %rax, 0xb8(%rsp)
leaq 0xc0(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x49210
testb $0x1, %al
jne 0xef70b
jmp 0xefa34
leaq 0xc0(%rsp), %rdi
callq 0x49250
movq (%rax), %rax
movq %rax, 0xb0(%rsp)
movq 0xb0(%rsp), %rax
addq $0x30, %rax
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rdi
callq 0x1cc40
movq %rax, 0xa0(%rsp)
movq 0xa8(%rsp), %rdi
callq 0x1cac0
movq %rax, 0x98(%rsp)
leaq 0xa0(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x492e0
testb $0x1, %al
jne 0xef77f
jmp 0xefa20
leaq 0xa0(%rsp), %rdi
callq 0x49320
movq (%rax), %rax
movq %rax, 0x90(%rsp)
movq 0x5c812(%rip), %rdi     # 0x14bfb0
leaq 0xe3b6(%rip), %rsi      # 0xfdb5b
callq 0x8330
movq %rax, 0x8(%rsp)
movq 0x90(%rsp), %rdi
callq 0x49000
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x8650
movq %rax, %rdi
movq 0x5c7ae(%rip), %rsi     # 0x14bf80
callq 0x8380
movq 0x5c7d2(%rip), %rdi     # 0x14bfb0
leaq 0xe383(%rip), %rsi      # 0xfdb68
callq 0x8330
movq 0x90(%rsp), %rax
addq $0x1a8, %rax            # imm = 0x1A8
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rdi
callq 0x845a0
movq %rax, 0x80(%rsp)
movq 0x88(%rsp), %rdi
callq 0xf2490
movq %rax, 0x78(%rsp)
leaq 0x80(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xf24c0
testb $0x1, %al
jne 0xef83f
jmp 0xef874
leaq 0x80(%rsp), %rdi
callq 0x845d0
movq (%rax), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rdi
movq 0x5c710(%rip), %rsi     # 0x14bf70
callq 0x441d0
leaq 0x80(%rsp), %rdi
callq 0xf24e0
jmp 0xef827
movq 0x5c735(%rip), %rdi     # 0x14bfb0
leaq 0xe2f3(%rip), %rsi      # 0xfdb75
callq 0x8330
movq 0x90(%rsp), %rax
addq $0x1e0, %rax            # imm = 0x1E0
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rdi
callq 0x845a0
movq %rax, 0x60(%rsp)
movq 0x68(%rsp), %rdi
callq 0xf2490
movq %rax, 0x58(%rsp)
leaq 0x60(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xf24c0
testb $0x1, %al
jne 0xef8cd
jmp 0xef8fc
leaq 0x60(%rsp), %rdi
callq 0x845d0
movq (%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movq 0x5c685(%rip), %rsi     # 0x14bf70
callq 0x441d0
leaq 0x60(%rsp), %rdi
callq 0xf24e0
jmp 0xef8b8
movq 0x5c6ad(%rip), %rdi     # 0x14bfb0
leaq 0xe279(%rip), %rsi      # 0xfdb83
callq 0x8330
movq 0x90(%rsp), %rax
addq $0x138, %rax            # imm = 0x138
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x845a0
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0xf2490
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0xf24c0
testb $0x1, %al
jne 0xef955
jmp 0xef984
leaq 0x40(%rsp), %rdi
callq 0x845d0
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movq 0x5c5fd(%rip), %rsi     # 0x14bf70
callq 0x441d0
leaq 0x40(%rsp), %rdi
callq 0xf24e0
jmp 0xef940
movq 0x5c625(%rip), %rdi     # 0x14bfb0
leaq 0xe1f9(%rip), %rsi      # 0xfdb8b
callq 0x8330
movq 0x90(%rsp), %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
callq 0x845a0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
callq 0xf2490
movq %rax, 0x18(%rsp)
leaq 0x20(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0xf24c0
testb $0x1, %al
jne 0xef9dd
jmp 0xefa0c
leaq 0x20(%rsp), %rdi
callq 0x845d0
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x5c575(%rip), %rsi     # 0x14bf70
callq 0x441d0
leaq 0x20(%rsp), %rdi
callq 0xf24e0
jmp 0xef9c8
jmp 0xefa0e
leaq 0xa0(%rsp), %rdi
callq 0x49330
jmp 0xef761
jmp 0xefa22
leaq 0xc0(%rsp), %rdi
callq 0x49260
jmp 0xef6ed
addq $0xd8, %rsp
retq
nopl (%rax)