// File: /workspace/github_c_makefile_star2_O1/nimble-code[P]Modex/Src/ps_graph.c
// Function: dot_tree
void
dot_tree(treenode *root)
{
	if (!root) return;

DTREE	printf("N%lu [label=\"%s\"];\n",
		(unsigned long) root,
		name_of_node(root->hdr.type));
DTREE	if (root->hdr.defuse) {
		printf("N%lu -> f%lu;\n",
			(unsigned long) root,
			(unsigned long) root);
		printf("f%lu [shape=box,label=\"",
			(unsigned long) root);
		dump_defuse(root->hdr.defuse, stdout);
		printf("\"];\n");
	}

	switch (root->hdr.which) {
	case IF_T:
		dot_if((if_node *) root);
		break;

	case FOR_T:
		dot_for((for_node *) root);
		break;

	case LEAF_T:
		dot_leaf((leafnode *) root);
		break;

	case NODE_T:
		dot_node(root);
		break;

	default:
		fprintf(stderr, "%s: unhandled type %s\n",
			progname, name_of_nodetype(root->hdr.which));
		break;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0xcd6b(%rip), %r14      # 0x2eca0
leaq 0xcc60(%rip), %r12      # 0x2eb9c
leaq 0xcdaf(%rip), %r15      # 0x2ecf2
leaq 0xcc62(%rip), %r13      # 0x2ebac
leaq 0xce32(%rip), %rbp      # 0x2ed83
testq %rbx, %rbx
je 0x221d7
movl 0x1c(%rbx), %edi
callq 0x163fa
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x4140
cmpq $0x0, 0x20(%rbx)
je 0x21fb9
leaq 0xcd34(%rip), %rdi      # 0x2ecb4
movq %rbx, %rsi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x4140
leaq 0xcd2f(%rip), %rdi      # 0x2ecc3
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
movq 0x20(%rbx), %rdi
movq 0x15027(%rip), %rax     # 0x36fd0
movq (%rax), %rsi
callq 0x1ee4c
movq %rbp, %rdi
callq 0x40d0
movl (%rbx), %edi
leal -0x1(%rdi), %eax
cmpl $0x3, %eax
ja 0x221d2
movslq (%r12,%rax,4), %rax
addq %r12, %rax
jmpq *%rax
movq 0x30(%rbx), %rdx
testq %rdx, %rdx
je 0x21ff2
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xcd89(%rip), %rdi      # 0x2ed76
callq 0x40d0
movq 0x38(%rbx), %rdx
testq %rdx, %rdx
je 0x22014
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xcd78(%rip), %rdi      # 0x2ed87
callq 0x40d0
movq 0x40(%rbx), %rdx
testq %rdx, %rdx
je 0x22036
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xcd69(%rip), %rdi      # 0x2ed9a
callq 0x40d0
movq 0x30(%rbx), %rdi
callq 0x21f20
movq 0x38(%rbx), %rdi
callq 0x21f20
movq 0x40(%rbx), %rbx
jmp 0x21f51
movq 0x30(%rbx), %rdx
testq %rdx, %rdx
je 0x2206b
leaq 0xcc9e(%rip), %rdi      # 0x2ecff
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
movq 0x38(%rbx), %rdx
testq %rdx, %rdx
je 0x22085
leaq 0xcc9f(%rip), %rdi      # 0x2ed1a
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
movl 0x1c(%rbx), %esi
cmpq $0x28, %rsi
ja 0x221e6
movslq (%r13,%rsi,4), %rax
addq %r13, %rax
jmpq *%rax
movq 0x30(%rbx), %rdi
callq 0x21f20
movq 0x38(%rbx), %rbx
jmp 0x21f51
movq 0x30(%rbx), %rdx
testq %rdx, %rdx
je 0x220d0
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xcce2(%rip), %rdi      # 0x2edad
callq 0x40d0
movq 0x38(%rbx), %rdx
testq %rdx, %rdx
je 0x220f2
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xccd1(%rip), %rdi      # 0x2edbe
callq 0x40d0
movq 0x40(%rbx), %rdx
testq %rdx, %rdx
je 0x22114
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xccc0(%rip), %rdi      # 0x2edcf
callq 0x40d0
movq 0x48(%rbx), %rdx
testq %rdx, %rdx
je 0x22136
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xccaf(%rip), %rdi      # 0x2ede0
callq 0x40d0
movq 0x30(%rbx), %rdi
callq 0x21f20
movq 0x38(%rbx), %rdi
callq 0x21f20
movq 0x40(%rbx), %rdi
callq 0x21f20
movq 0x48(%rbx), %rbx
jmp 0x21f51
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x220a0
cmpl $0x2d, 0x1c(%rdi)
jmp 0x220a0
movq 0x30(%rbx), %rbx
jmp 0x21f51
movl 0x18(%rbx), %eax
cmpl $0x171, %eax            # imm = 0x171
jg 0x2219f
cmpl $0x11b, %eax            # imm = 0x11B
je 0x2209c
cmpl $0x160, %eax            # imm = 0x160
je 0x221ac
cmpl $0x170, %eax            # imm = 0x170
jmp 0x2209c
addl $0xfffffe8e, %eax       # imm = 0xFFFFFE8E
cmpl $0x2, %eax
jmp 0x2209c
cmpq $0x0, 0x30(%rbx)
jne 0x2209c
jmp 0x220a5
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x21dc8
callq 0x5f6b
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x5f2c
jmp 0x221d7