// File: /workspace/github_c_makefile_star2_O2/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:
movq %rdi, %rcx
movq 0x1c247(%rip), %rdi     # 0x2ba40
movq %rcx, %rax
orq %rdi, %rax
je 0xf8b0
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rcx, 0x10(%rsp)
movl 0x1c25a(%rip), %ebx     # 0x2ba78
testq %rdi, %rdi
je 0xf84e
pushq $0x1
popq %rax
cmpl $0x2, %ebx
cmovll %eax, %ebx
pushq $0x2
popq %rsi
callq 0xbcf8
movq 0x1c205(%rip), %rax     # 0x2ba40
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movl 0x8(%rax), %edi
imull %ebx, %edi
callq 0x19255
leaq 0x2272b(%rip), %rax     # 0x31f80
movq (%rax), %rdi
callq 0x1736a
pushq $0x1
popq %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x17382
pushq $0x51
popq %rdi
pushq $0x3
popq %rdx
movq %rax, %rsi
callq 0x16090
pushq $0x4
popq %rsi
movq %rax, 0x8(%rsp)
movq %rax, %rdi
callq 0xbcf8
movq 0x1c211(%rip), %rdi     # 0x2baa0
xorl %esi, %esi
callq 0x15731
movq %rax, %r15
movq (%r15), %rax
testq %rax, %rax
je 0xf8b1
movq 0x50(%rax), %rdi
callq 0xbd57
addq $0x8, %r15
jmp 0xf899
retq
xorl %edi, %edi
callq 0xbd57
leaq 0x22719(%rip), %rax     # 0x31fd8
movq (%rax), %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x17382
pushq $0x51
popq %rdi
pushq $0x3
popq %rdx
movq %rax, %rsi
callq 0x16090
movq %rax, %r12
pushq $0x4
popq %rsi
movq %rax, %rdi
callq 0xbcf8
movq 0x1c15a(%rip), %rdi     # 0x2ba48
xorl %esi, %esi
callq 0x15731
movq %rax, %r13
pushq $0x6
popq %r15
movl %ebx, %ebp
movq (%r13), %rax
testq %rax, %rax
je 0xf930
xorl %r14d, %r14d
movslq (%rax), %rcx
cmpq %rcx, %r14
jge 0xf928
movl 0x4(%rax,%r14,4), %esi
movl %r15d, %edi
callq 0x1917d
incq %r14
movq (%r13), %rax
jmp 0xf90a
subl %ecx, %ebp
addq $0x8, %r13
jmp 0xf8fe
testl %ebp, %ebp
jle 0xf948
movq 0x20(%r12), %rax
movq 0x10(%rax), %rax
imull 0x8(%rax), %ebp
movl %ebp, %edi
callq 0x19255
xorl %edi, %edi
callq 0xbd57
pushq $0x3
popq %rsi
movq 0x10(%rsp), %rdi
callq 0xbcf8
xorl %edi, %edi
callq 0xbd57
movl %ebx, %esi
pushq $0x6
popq %rdi
callq 0x1917d
movq 0x1c0cc(%rip), %rdi     # 0x2ba40
callq 0xbd57
movq %r12, %rdi
callq 0xbd57
movq 0x8(%rsp), %rdi
callq 0xbd57
movq 0x1c106(%rip), %rdi     # 0x2ba98
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xbd57