// File: /workspace/github_c_makefile_star2_O0/luixmao[P]verilog/design.cpp
// Function: Design::~Design()
Design::~Design(){
  //destructor for all nets
  map<string, Net *>::iterator it_net;
  for(it_net=designNets.begin() ; it_net!=designNets.end(); it_net++){
    //cout << (it_net->second)->name() <<endl;////////////////
    delete it_net->second;
  }

 // destructor for all gates
  map<string, Gate *>::iterator it_gate;
  for(it_gate=designGates.begin() ; it_gate!=designGates.end(); it_gate++){
    //cout << (it_gate->second)->name() <<endl;////////////////
    delete it_gate->second;
  }
  
  //delete vectors
  delete PINets;
  delete PONets;
  delete WireNets;
  delete all_Nets;
  delete all_Gates;
  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x7d10
movq -0x50(%rbp), %rdi
addq $0x20, %rdi
callq 0x7d30
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x50(%rbp), %rdi
addq $0x20, %rdi
callq 0x7d90
movq %rax, -0x20(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x7d60
testb $0x1, %al
jne 0x67bd
jmp 0x67fe
leaq -0x10(%rbp), %rdi
callq 0x7dc0
movq 0x20(%rax), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x67eb
movq -0x58(%rbp), %rdi
callq 0x37b0
movq -0x58(%rbp), %rdi
movl $0x40, %esi
callq 0x3240
jmp 0x67ed
leaq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x7de0
movq %rax, -0x28(%rbp)
jmp 0x6799
leaq -0x30(%rbp), %rdi
callq 0x7e20
movq -0x50(%rbp), %rdi
addq $0x50, %rdi
callq 0x7e40
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
addq $0x50, %rdi
callq 0x7ea0
movq %rax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x7e70
testb $0x1, %al
jne 0x6844
jmp 0x6878
leaq -0x30(%rbp), %rdi
callq 0x7ed0
movq 0x20(%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x6865
movq -0x60(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x6867
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x7ef0
movq %rax, -0x48(%rbp)
jmp 0x6820
movq -0x50(%rbp), %rax
movq 0xb0(%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x68a4
movq -0x68(%rbp), %rdi
callq 0x5af0
movq -0x68(%rbp), %rdi
movl $0x18, %esi
callq 0x3240
movq -0x50(%rbp), %rax
movq 0xb8(%rax), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x68d0
movq -0x70(%rbp), %rdi
callq 0x5af0
movq -0x70(%rbp), %rdi
movl $0x18, %esi
callq 0x3240
movq -0x50(%rbp), %rax
movq 0xc0(%rax), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x68fc
movq -0x78(%rbp), %rdi
callq 0x5af0
movq -0x78(%rbp), %rdi
movl $0x18, %esi
callq 0x3240
movq -0x50(%rbp), %rax
movq 0xc8(%rax), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x6928
movq -0x80(%rbp), %rdi
callq 0x5af0
movq -0x80(%rbp), %rdi
movl $0x18, %esi
callq 0x3240
movq -0x50(%rbp), %rax
movq 0xd0(%rax), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x695d
movq -0x88(%rbp), %rdi
callq 0x3a80
movq -0x88(%rbp), %rdi
movl $0x18, %esi
callq 0x3240
movq -0x50(%rbp), %rdi
addq $0x98, %rdi
callq 0x7c70
movq -0x50(%rbp), %rdi
addq $0x80, %rdi
callq 0x7c70
movq -0x50(%rbp), %rdi
addq $0x50, %rdi
callq 0x7cd0
movq -0x50(%rbp), %rdi
addq $0x20, %rdi
callq 0x7cf0
movq -0x50(%rbp), %rdi
callq 0x3150
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)