// File: /workspace/github_c_makefile_star2_O3/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
testq %rdi, %rdi
je 0x21802
movq %rdi, %r15
leaq 0xc71a(%rip), %rbx      # 0x2dc8c
leaq 0xc60f(%rip), %r12      # 0x2db88
leaq 0xc75e(%rip), %r14      # 0x2dcde
leaq 0xc611(%rip), %r13      # 0x2db98
movl 0x1c(%r15), %edi
callq 0x16550
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x4140
cmpq $0x0, 0x20(%r15)
je 0x215eb
leaq 0xc6f2(%rip), %rdi      # 0x2dca0
movq %r15, %rsi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4140
leaq 0xc6ed(%rip), %rdi      # 0x2dcaf
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
movq 0x20(%r15), %rdi
movq 0x149f9(%rip), %rax     # 0x35fd0
movq (%rax), %rsi
callq 0x1e416
leaq 0xc789(%rip), %rdi      # 0x2dd6f
callq 0x40d0
movl (%r15), %edi
leal -0x1(%rdi), %eax
cmpl $0x3, %eax
ja 0x217fd
movslq (%r12,%rax,4), %rax
addq %r12, %rax
jmpq *%rax
movq 0x30(%r15), %rdx
testq %rdx, %rdx
je 0x21625
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc742(%rip), %rdi      # 0x2dd62
callq 0x40d0
movq 0x38(%r15), %rdx
testq %rdx, %rdx
je 0x21647
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc731(%rip), %rdi      # 0x2dd73
callq 0x40d0
movq 0x40(%r15), %rdx
testq %rdx, %rdx
je 0x21669
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc722(%rip), %rdi      # 0x2dd86
callq 0x40d0
leaq 0x40(%r15), %rbp
movq 0x30(%r15), %rdi
callq 0x21554
movq 0x38(%r15), %rdi
jmp 0x2177d
movq 0x30(%r15), %rdx
testq %rdx, %rdx
je 0x21699
leaq 0xc65c(%rip), %rdi      # 0x2dceb
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
movq 0x38(%r15), %rdx
testq %rdx, %rdx
je 0x216b3
leaq 0xc65d(%rip), %rdi      # 0x2dd06
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
movl 0x1c(%r15), %esi
cmpq $0x28, %rsi
ja 0x21811
leaq 0x30(%r15), %rax
leaq 0x38(%r15), %rbp
movslq (%r13,%rsi,4), %rcx
addq %r13, %rcx
jmpq *%rcx
movq (%rax), %rdi
jmp 0x2177d
movq 0x30(%r15), %rdx
testq %rdx, %rdx
je 0x216fd
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc6a1(%rip), %rdi      # 0x2dd99
callq 0x40d0
movq 0x38(%r15), %rdx
testq %rdx, %rdx
je 0x2171f
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc690(%rip), %rdi      # 0x2ddaa
callq 0x40d0
movq 0x40(%r15), %rdx
testq %rdx, %rdx
je 0x21741
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc67f(%rip), %rdi      # 0x2ddbb
callq 0x40d0
movq 0x48(%r15), %rdx
testq %rdx, %rdx
je 0x21763
movq %r14, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x4140
leaq 0xc66e(%rip), %rdi      # 0x2ddcc
callq 0x40d0
leaq 0x48(%r15), %rbp
movq 0x30(%r15), %rdi
callq 0x21554
movq 0x38(%r15), %rdi
callq 0x21554
movq 0x40(%r15), %rdi
callq 0x21554
movq (%rbp), %r15
testq %r15, %r15
jne 0x21587
jmp 0x21802
movq (%rax), %rdi
testq %rdi, %rdi
je 0x2177d
cmpl $0x2d, 0x1c(%rdi)
jmp 0x2177d
movq %rax, %rbp
jmp 0x21782
movl 0x18(%r15), %ecx
cmpl $0x171, %ecx            # imm = 0x171
jg 0x217cf
cmpl $0x11b, %ecx            # imm = 0x11B
je 0x216d3
cmpl $0x160, %ecx            # imm = 0x160
je 0x217dd
cmpl $0x170, %ecx            # imm = 0x170
jmp 0x216d3
addl $0xfffffe8e, %ecx       # imm = 0xFFFFFE8E
cmpl $0x2, %ecx
jmp 0x216d3
movq (%rax), %rdi
testq %rdi, %rdi
jne 0x2177d
jmp 0x21782
movq %r15, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x213fc
callq 0x5e23
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r15, %rdi
callq 0x5de4
jmp 0x21802