// File: /workspace/github_c_makefile_star2_O0/oridb[P]mc/6/ra.c
// Function: dumpasm
void
dumpasm(Isel *s, FILE *fd)
{
	size_t i, j;
	char *sep;
	Asmbb *bb;

	fprintf(fd, "function %s\n", s->name);
	fprintf(fd, "WORKLISTS -- \n");
	wlprint(stdout, "spill", s->wlspill, s->nwlspill);
	wlprint(stdout, "simp", s->wlsimp, s->nwlsimp);
	wlprint(stdout, "freeze", s->wlfreeze, s->nwlfreeze);
	/* noisy to dump this all the time; only dump for higher debug levels */
	if (debugopt['r'] > 2) {
		fprintf(fd, "IGRAPH ----- \n");
		for (i = 0; i < s->nreg; i++) {
			for (j = i; j < s->nreg; j++) {
				if (gbhasedge(s, i, j))
					printedge(stdout, "", i, j);
			}
		}
	}
	fprintf(fd, "ASM -------- \n");
	for (j = 0; j < s->nbb; j++) {
		bb = s->bb[j];
		if (!bb)
			continue;
		fprintf(fd, "\n");
		fprintf(fd, "Bb: %d labels=(", bb->id);
		sep = "";
		for (i = 0; i < bb->nlbls; i++) {;
			fprintf(fd, "%s%s", bb->lbls[i], sep);
			sep = ",";
		}
		fprintf(fd, ")\n");

		fprintf(fd, "Pred: ");
		setprint(fd, bb->pred);
		fprintf(fd, "Succ: ");
		setprint(fd, bb->succ);

		fprintf(fd, "Use: ");
		locsetprint(fd, bb->use);
		fprintf(fd, "Def: ");
		locsetprint(fd, bb->def);
		fprintf(fd, "Livein:  ");
		locsetprint(fd, bb->livein);
		fprintf(fd, "Liveout: ");
		locsetprint(fd, bb->liveout);
		for (i = 0; i < bb->ni; i++)
			dbgiprintf(fd, bb->il[i]);
	}
	fprintf(fd, "ENDASM -------- \n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
leaq 0x3bc2c(%rip), %rsi     # 0x4e45e
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
leaq 0x3b365(%rip), %rsi     # 0x4dba9
movb $0x0, %al
callq 0x6230
movq 0x4c77e(%rip), %rax     # 0x5efd0
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x470(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x478(%rax), %rcx
leaq 0x3b346(%rip), %rsi     # 0x4dbb8
callq 0x13600
movq 0x4c752(%rip), %rax     # 0x5efd0
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x490(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x498(%rax), %rcx
leaq 0x3b4e5(%rip), %rsi     # 0x4dd83
callq 0x13600
movq 0x4c726(%rip), %rax     # 0x5efd0
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x480(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x488(%rax), %rcx
leaq 0x3b2f4(%rip), %rsi     # 0x4dbbe
callq 0x13600
leaq 0x6a42a(%rip), %rax     # 0x7cd00
movsbl 0x72(%rax), %eax
cmpl $0x2, %eax
jle 0x1297d
movq -0x10(%rbp), %rdi
leaq 0x3b2d7(%rip), %rsi     # 0x4dbc5
movb $0x0, %al
callq 0x6230
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x3d0(%rcx), %rax
jae 0x1297b
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x3d0(%rcx), %rax
jae 0x1296b
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x136d0
cmpl $0x0, %eax
je 0x1295b
movq 0x4c68c(%rip), %rax     # 0x5efd0
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x42ecf(%rip), %rsi     # 0x55825
callq 0x13740
jmp 0x1295d
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x12916
jmp 0x1296d
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x128fd
jmp 0x1297d
movq -0x10(%rbp), %rdi
leaq 0x3b28d(%rip), %rsi     # 0x4dc15
movb $0x0, %al
callq 0x6230
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x12b87
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x129c9
jmp 0x12b76
movq -0x10(%rbp), %rdi
leaq 0x3b1e2(%rip), %rsi     # 0x4dbb6
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movl (%rax), %edx
leaq 0x3b1e8(%rip), %rsi     # 0x4dbd4
movb $0x0, %al
callq 0x6230
leaq 0x42e2b(%rip), %rax     # 0x55825
movq %rax, -0x28(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x12a53
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
movq -0x28(%rbp), %rcx
leaq 0x3b0ad(%rip), %rsi     # 0x4dae0
movb $0x0, %al
callq 0x6230
leaq 0x4297b(%rip), %rax     # 0x553bc
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x12a06
movq -0x10(%rbp), %rdi
leaq 0x3bf68(%rip), %rsi     # 0x4e9c6
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
leaq 0x3b174(%rip), %rsi     # 0x4dbe4
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x137e0
movq -0x10(%rbp), %rdi
leaq 0x3b158(%rip), %rsi     # 0x4dbeb
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0x137e0
movq -0x10(%rbp), %rdi
leaq 0x3b13c(%rip), %rsi     # 0x4dbf2
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x13880
movq -0x10(%rbp), %rdi
leaq 0x3b11f(%rip), %rsi     # 0x4dbf8
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
callq 0x13880
movq -0x10(%rbp), %rdi
leaq 0x3b102(%rip), %rsi     # 0x4dbfe
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x48(%rax), %rsi
callq 0x13880
movq -0x10(%rbp), %rdi
leaq 0x3b0e9(%rip), %rsi     # 0x4dc08
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x50(%rax), %rsi
callq 0x13880
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x12b74
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x9010
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x12b3f
jmp 0x12b76
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x12997
movq -0x10(%rbp), %rdi
leaq 0x3b080(%rip), %rsi     # 0x4dc12
movb $0x0, %al
callq 0x6230
addq $0x30, %rsp
popq %rbp
retq
nop