// File: /workspace/github_c_makefile_star2_O0/oridb[P]mc/6/ra.c
// Function: setup
static void
setup(Isel *s)
{
	size_t gchunks;
	size_t i;

	gfree(s);
	s->nreg = maxregid;
	gchunks = (s->nreg*s->nreg)/Sizetbits + 1;
	s->gbits = zalloc(gchunks*sizeof(size_t));
	/* fresh adj list repr. */
	s->gadj = zalloc(s->nreg * sizeof(regid*));
	s->ngadj = zalloc(s->nreg * sizeof(size_t));
	s->gadjsz = zalloc(s->nreg * sizeof(size_t));

	s->mactiveset = bsclear(s->mactiveset);
	s->wlmoveset = bsclear(s->wlmoveset);
	s->spilled = bsclear(s->spilled);
	s->coalesced = bsclear(s->coalesced);
	lfree(&s->wlspill, &s->nwlspill);
	lfree(&s->wlfreeze, &s->nwlfreeze);
	lfree(&s->wlsimp, &s->nwlsimp);

	free(s->aliasmap);
	free(s->degree);
	free(s->rmoves);
	free(s->nrmoves);

	s->aliasmap = zalloc(s->nreg * sizeof(Loc*));
	s->degree = zalloc(s->nreg * sizeof(int));
	s->nuses = zalloc(s->nreg * sizeof(int));
	s->rmoves = zalloc(s->nreg * sizeof(Insn**));
	s->nrmoves = zalloc(s->nreg * sizeof(size_t));

	for (i = 0; bsiter(s->prepainted, &i); i++)
		s->degree[i] = 1<<16;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x13570
leaq 0x6b40c(%rip), %rax     # 0x7c9a8
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3d0(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rax
movq -0x8(%rbp), %rcx
imulq 0x3d0(%rcx), %rax
shrq $0x6, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3b0(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3b8(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3c0(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3c8(%rax)
movq -0x8(%rbp), %rax
movq 0x440(%rax), %rdi
callq 0x48760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x440(%rax)
movq -0x8(%rbp), %rax
movq 0x458(%rax), %rdi
callq 0x48760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x458(%rax)
movq -0x8(%rbp), %rax
movq 0x4b8(%rax), %rdi
callq 0x48760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x4b8(%rax)
movq -0x8(%rbp), %rax
movq 0x4b0(%rax), %rdi
callq 0x48760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x4b0(%rax)
movq -0x8(%rbp), %rdi
addq $0x470, %rdi            # imm = 0x470
movq -0x8(%rbp), %rsi
addq $0x478, %rsi            # imm = 0x478
callq 0x48580
movq -0x8(%rbp), %rdi
addq $0x480, %rdi            # imm = 0x480
movq -0x8(%rbp), %rsi
addq $0x488, %rsi            # imm = 0x488
callq 0x48580
movq -0x8(%rbp), %rdi
addq $0x490, %rdi            # imm = 0x490
movq -0x8(%rbp), %rsi
addq $0x498, %rsi            # imm = 0x498
callq 0x48580
movq -0x8(%rbp), %rax
movq 0x3e8(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x3d8(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x400(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x408(%rax), %rdi
callq 0x6040
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3e8(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x2, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3d8(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x2, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x3e0(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x400(%rax)
movq -0x8(%rbp), %rax
movq 0x3d0(%rax), %rdi
shlq $0x3, %rdi
callq 0x48160
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x408(%rax)
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x4c0(%rax), %rdi
leaq -0x18(%rbp), %rsi
callq 0x48860
cmpl $0x0, %eax
je 0x11846
movq -0x8(%rbp), %rax
movq 0x3d8(%rax), %rax
movq -0x18(%rbp), %rcx
movl $0x10000, (%rax,%rcx,4) # imm = 0x10000
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x11809
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)