This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: the size of tree_decl


In message <200302102217.h1AMHvkA027073@gremlin.ics.uci.edu>, Dan Nicolaescu wr
ites:
 >
 >tree_decl is a big structure (108 bytes on x86), a lot of tree_decls are
 >created during a compilation and a lot more are created on the
 >tree-ssa branch. 
 >
 >It seems that there are some things in a tree_decl that could be
 >placed somewhere else, and save some space that way. 
I'm all for it :-)

 >  tree vindex;  -- seems to be only used in C++ and java
 >Can it be moved to the language specific part of the decl?
Hmm, I'm somewhat surprised it's not used by Obj-C.  No strong
opinions here.

 >  /* In a FUNCTION_DECL, this is DECL_SAVED_TREE.  */
 >  tree saved_tree;
 >  /* In a FUNCTION_DECL, these are function data which is to be kept
 >     as long as FUNCTION_DECL is kept.  */
 >  tree inlined_fns;
 >
 >These seem to be only used for FUNCTION_DECLs. Can they be added as
 >an attribute to FUNCTION_DECLs instead of taking up space for all the
 >decl types? 
That would be wise.

 >
 >Also not all decl types use these:
 >
 >  tree assembler_name;
 >  tree section_name;
 >  rtx rtl;	/* RTL representation for object.  */
 >
 >None of these fields are accessed very often, so it shouldn't be a
 >big problem that they are stored somewhere else. 
I'm not real keen on moving data out just to store it somewhere 
else -- unless the data is only used on a few specific nodes

Jeffk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]