Redundant tree inliner code?

Ziemowit Laski zlaski@apple.com
Tue Dec 4 15:58:00 GMT 2001


A recursive grep for deferred_fns (which I believe came in with the new
tree inlining recently) shows that the variable is defined in three
different places.  Is there a reason for this, or could it just go
into c-common.[ch]?

We stumbled across this while working on our persistent front-end, and
the current "distribution" of deferred_fns makes life extra hellish
for us. :)

--Zem

===================================================================

zlaski@gourd:gcc> grep -r deferred_fns *
c-lang.c:static varray_type deferred_fns;
c-lang.c:  VARRAY_TREE_INIT (deferred_fns, 32, "deferred_fns");
c-lang.c:  ggc_add_tree_varray_root (&deferred_fns, 1);
c-lang.c:  VARRAY_PUSH_TREE (deferred_fns, fn);
c-lang.c:  for (i = 0; i < VARRAY_ACTIVE_SIZE (deferred_fns); i++)
c-lang.c:      tree decl = VARRAY_TREE (deferred_fns, i);
c-lang.c:  VARRAY_FREE (deferred_fns);
cp/decl2.c:static varray_type deferred_fns;
cp/decl2.c:#define deferred_fns_used \
cp/decl2.c:  (deferred_fns ? deferred_fns->elements_used : 0)
cp/decl2.c:  if (!deferred_fns)
cp/decl2.c:    VARRAY_TREE_INIT (deferred_fns, 32, "deferred_fns");
cp/decl2.c:  VARRAY_PUSH_TREE (deferred_fns, fn);
cp/decl2.c:      for (i = 0; i < deferred_fns_used; ++i)
cp/decl2.c:       tree decl = VARRAY_TREE (deferred_fns, i);
cp/decl2.c:      for (i = 0; i < deferred_fns_used; ++i)
cp/decl2.c:       tree decl = VARRAY_TREE (deferred_fns, i);
cp/decl2.c:      if (deferred_fns_used
cp/decl2.c:       && wrapup_global_declarations (&VARRAY_TREE 
(deferred_fns, 0),
cp/decl2.c:                                      deferred_fns_used))
cp/decl2.c:  ggc_add_tree_varray_root (&deferred_fns, 1);
objc/objc-act.c:static varray_type deferred_fns;
objc/objc-act.c:  VARRAY_TREE_INIT (deferred_fns, 32, "deferred_fns");
objc/objc-act.c:  ggc_add_tree_varray_root (&deferred_fns, 1);
objc/objc-act.c:  VARRAY_PUSH_TREE (deferred_fns, fn);
objc/objc-act.c:  for (i = 0; i < VARRAY_ACTIVE_SIZE (deferred_fns); i++)
objc/objc-act.c:    if (! TREE_ASM_WRITTEN (VARRAY_TREE (deferred_fns, 
i)))
objc/objc-act.c:      c_expand_deferred_function (VARRAY_TREE 
(deferred_fns, i));
objc/objc-act.c:  VARRAY_FREE (deferred_fns);


--------------------------------------------------------------
Ziemowit Laski                   Apple Computer, Inc.
zlaski@apple.com                 2 Infinite Loop, MS 302-4SN
+1.408.974.6229  Fax .1344       Cupertino, CA  95014-2085



More information about the Gcc-patches mailing list