Пример #1
0
char *newvarreg (void)
{
	char *r = newreg ();
	set_var_reg (r);
	printf ("# was a var\n");
	return r;
}
Пример #2
0
void free_childs_alloc_reg(treenode* node) {
  /* only free if they have regs - immediates don't */
  if(node->child[0]->reg != NULL)
    freereg(node->child[0]->reg);
  if(node->child[1]->reg != NULL)
    freereg(node->child[1]->reg);
  node->reg = newreg();
}
Пример #3
0
symbol * var_init_if(symbol * vars, symbol * vars_to_ignore, symbol * fake) {
	symbol * start = vars;
	
	while(vars != NULL) {
		if (vars->reg == NULL && !table_has_symbol(vars_to_ignore, vars->name)) {
			 vars->reg = newreg();
			#ifdef MY_DEBUG
			printf("# - IF: Reserving %s for var %s\n", vars->reg, vars->name);
			#endif
		}
		vars = vars->next;
	}

	return start;
}