------- Comment #10 from rguenth at gcc dot gnu dot org  2007-04-03 13:50 
-------
At least all the attr_list stuff is O(N) as it uses a linked list for

static attrs
attrs_list_member (attrs list, tree decl, HOST_WIDE_INT offset)
{
  for (; list; list = list->next)
    if (list->decl == decl && list->offset == offset)
      return list;
  return NULL;
}

static void
attrs_list_union (attrs *dstp, attrs src)
{
  for (; src; src = src->next)
    {
      if (!attrs_list_member (*dstp, src->decl, src->offset))
        attrs_list_insert (dstp, src->decl, src->offset, src->loc);
    }
}

(thats quadratic already, ugh)

it's a map of <decl, offset> mapping to a rtx location.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31412

Reply via email to