src/gencode.c
static void init_descr(rbnode_t *node, rbnode_t *nil)
{
  while (node != nil)
    {
      var_descr_t *vd = (var_descr_t*)node->key;
      var_t *var = vd->var;
      assert (var->live);
      if (vd->loc != NULL)
        {
          loc_t *loc = vd->loc;
          while (loc != NULL)
            {
              update_var_loc(var, loc);
              loc = loc->next;
            }
        }
      else if (loc_empty(var->loc))
        {
          /* assign some location */
          assign_var_to_loc(var);
        }
      if (node->left != nil)
        {
          init_descr(node->left, nil);
        }
      node = node->right;
    }
}
// initialize register/memory location descriptions
initialize register/memory location descriptions
initialize register / memory location descriptions
static void init_descr(rbnode_t *node, rbnode_t *nil)
{
  while (node != nil)
    {
      var_descr_t *vd = (var_descr_t*)node->key;
      var_t *var = vd->var;
      assert (var->live);
      if (vd->loc != NULL)
        {
          loc_t *loc = vd->loc;
          while (loc != NULL)
            {
              update_var_loc(var, loc);
              loc = loc->next;
            }
        }
      else if (loc_empty(var->loc))
        {
          assign_var_to_loc(var);
        }
      if (node->left != nil)
        {
          init_descr(node->left, nil);
        }
      node = node->right;
    }
}
static void init_descr ( rbnode_t * node , rbnode_t * nil ) { while ( node != nil ) { var_descr_t * vd = ( var_descr_t * ) node -> key ; var_t * var = vd -> var ; assert ( var -> live ) ; if ( vd -> loc != NULL ) { loc_t * loc = vd -> loc ; while ( loc != NULL ) { update_var_loc ( var , loc ) ; loc = loc -> next ; } } else if ( loc_empty ( var -> loc ) ) { assign_var_to_loc ( var ) ; } if ( node -> left != nil ) { init_descr ( node -> left , nil ) ; } node = node -> right ; } }
initialize register/memory location descriptions
initialize register / memory location descriptions
/* assign some location */