// File: /workspace/github_c_makefile_star2_O1/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 0x1b104(%rip), %rdi     # 0x2ba40
movq %r14, %rax
orq %rdi, %rax
je 0x10afb
movl 0x1b12a(%rip), %ebx     # 0x2ba78
testq %rdi, %rdi
je 0x10982
cmpl $0x2, %ebx
movl $0x1, %eax
cmovll %eax, %ebx
movl $0x2, %esi
callq 0xc9dc
movq 0x1b0d1(%rip), %rax     # 0x2ba40
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movl 0x8(%rax), %edi
imull %ebx, %edi
callq 0x1a98c
leaq 0x215f7(%rip), %rax     # 0x31f80
movq (%rax), %rdi
callq 0x18a44
movq %rax, %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x18a62
movl $0x51, %edi
movq %rax, %rsi
movl $0x3, %edx
callq 0x175a8
movq %rax, (%rsp)
movq %rax, %rdi
movl $0x4, %esi
callq 0xc9dc
movq 0x1b0d6(%rip), %rdi     # 0x2baa0
xorl %esi, %esi
callq 0x16b7f
movq %rax, %r12
movq (%rax), %rax
testq %rax, %rax
je 0x109f6
addq $0x8, %r12
movq 0x50(%rax), %rdi
callq 0xca62
movq (%r12), %rax
addq $0x8, %r12
testq %rax, %rax
jne 0x109e0
xorl %edi, %edi
callq 0xca62
leaq 0x215d4(%rip), %rax     # 0x31fd8
movq (%rax), %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x18a62
movl $0x51, %edi
movq %rax, %rsi
movl $0x3, %edx
callq 0x175a8
movq %rax, %r12
movq %rax, %rdi
movl $0x4, %esi
callq 0xc9dc
movq 0x1b00f(%rip), %rdi     # 0x2ba48
xorl %esi, %esi
callq 0x16b7f
cmpq $0x0, (%rax)
movl %ebx, %ebp
je 0x10a85
movq %rax, %r13
movl %ebx, %ebp
movq (%r13), %rax
movl (%rax), %ecx
testl %ecx, %ecx
jle 0x10a78
xorl %r15d, %r15d
movl 0x4(%rax,%r15,4), %esi
movl $0x6, %edi
callq 0x1a8a1
incq %r15
movq (%r13), %rax
movslq (%rax), %rcx
cmpq %rcx, %r15
jl 0x10a5a
subl %ecx, %ebp
cmpq $0x0, 0x8(%r13)
leaq 0x8(%r13), %r13
jne 0x10a4d
testl %ebp, %ebp
jle 0x10a9d
movq 0x20(%r12), %rax
movq 0x10(%rax), %rax
imull 0x8(%rax), %ebp
movl %ebp, %edi
callq 0x1a98c
xorl %edi, %edi
callq 0xca62
movq %r14, %rdi
movl $0x3, %esi
callq 0xc9dc
xorl %edi, %edi
callq 0xca62
movl %ebx, %esi
movl $0x6, %edi
callq 0x1a8a1
movq 0x1af75(%rip), %rdi     # 0x2ba40
callq 0xca62
movq %r12, %rdi
callq 0xca62
movq (%rsp), %rdi
callq 0xca62
movq 0x1afb0(%rip), %rdi     # 0x2ba98
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xca62
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq