// File: /workspace/github_c_makefile_star2_O3/Oric4ever[P]lcc65/6502/build/../src/main.c
// Function: bbvars
static void bbvars(yylink) Symbol yylink; {
	int i, j, n = npoints;
	Value v;
	struct map **mp;
	Symbol coords, files, *p;

	if (!YYcounts && !yylink)
		return;
	if (YYcounts) {
		if (n <= 0)
			n = 1;
		defglobal(YYcounts, BSS);
		space(n*YYcounts->type->type->size);
	}
	files = genident(STATIC, array(ptr(chartype), 1, 0), GLOBAL);
	defglobal(files, LIT);
	for (p = (Symbol *)list_to_a(filelist, 0); *p; p++)
		defpointer((*p)->u.c.loc);
	defpointer(0);
	coords = genident(STATIC, array(unsignedtype, n, 0), GLOBAL);
	defglobal(coords, LIT);
	for (i = n, mp = (struct map **)list_to_a(maplist, 0); *mp; i -= (*mp)->size, mp++)
		for (j = 0; j < (*mp)->size; j++)
			defconst(U, (v.u = (*mp)->u[j].coord, v));
	if (i > 0)
		space(i*coords->type->type->size);
	defpointer(0);
	defglobal(yylink, DATA);
	defpointer(0);
	defconst(U, (v.u = n, v));
	defpointer(YYcounts);
	defpointer(coords);
	defpointer(files);
	defpointer(funclist);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x1c217(%rip), %rdi     # 0x2ca40
movq %r14, %rax
orq %rdi, %rax
je 0x109e8
movl 0x1c23d(%rip), %ebx     # 0x2ca78
testq %rdi, %rdi
je 0x1086f
cmpl $0x2, %ebx
movl $0x1, %eax
cmovll %eax, %ebx
movl $0x2, %esi
callq 0xc9a8
movq 0x1c1e4(%rip), %rax     # 0x2ca40
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movl 0x8(%rax), %edi
imull %ebx, %edi
callq 0x1a74a
leaq 0x2270a(%rip), %rax     # 0x32f80
movq (%rax), %rdi
callq 0x188cc
movq %rax, %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x188ea
movl $0x51, %edi
movq %rax, %rsi
movl $0x3, %edx
callq 0x17456
movq %rax, (%rsp)
movq %rax, %rdi
movl $0x4, %esi
callq 0xc9a8
movq 0x1c1e9(%rip), %rdi     # 0x2caa0
xorl %esi, %esi
callq 0x16aab
movq %rax, %r12
movq (%rax), %rax
testq %rax, %rax
je 0x108e3
addq $0x8, %r12
movq 0x50(%rax), %rdi
callq 0xca2e
movq (%r12), %rax
addq $0x8, %r12
testq %rax, %rax
jne 0x108cd
xorl %edi, %edi
callq 0xca2e
leaq 0x226e7(%rip), %rax     # 0x32fd8
movq (%rax), %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x188ea
movl $0x51, %edi
movq %rax, %rsi
movl $0x3, %edx
callq 0x17456
movq %rax, %r12
movq %rax, %rdi
movl $0x4, %esi
callq 0xc9a8
movq 0x1c122(%rip), %rdi     # 0x2ca48
xorl %esi, %esi
callq 0x16aab
movq %rax, %r13
movq (%rax), %rax
movl %ebx, %ebp
testq %rax, %rax
je 0x10972
movl %ebx, %ebp
movl (%rax), %ecx
testl %ecx, %ecx
jle 0x10963
xorl %r15d, %r15d
movl 0x4(%rax,%r15,4), %esi
movl $0x6, %edi
callq 0x1a672
incq %r15
movq (%r13), %rax
movslq (%rax), %rcx
cmpq %rcx, %r15
jl 0x10945
subl %ecx, %ebp
movq 0x8(%r13), %rax
addq $0x8, %r13
testq %rax, %rax
jne 0x1093c
testl %ebp, %ebp
jle 0x1098a
movq 0x20(%r12), %rax
movq 0x10(%rax), %rax
imull 0x8(%rax), %ebp
movl %ebp, %edi
callq 0x1a74a
xorl %edi, %edi
callq 0xca2e
movq %r14, %rdi
movl $0x3, %esi
callq 0xc9a8
xorl %edi, %edi
callq 0xca2e
movl %ebx, %esi
movl $0x6, %edi
callq 0x1a672
movq 0x1c088(%rip), %rdi     # 0x2ca40
callq 0xca2e
movq %r12, %rdi
callq 0xca2e
movq (%rsp), %rdi
callq 0xca2e
movq 0x1c0c3(%rip), %rdi     # 0x2ca98
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xca2e
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq