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: Tree sharing issues...


> In message <20031119221355.GN11681@kam.mff.cuni.cz>, Jan Hubicka writes:
>  >> > On Wed, Nov 19, 2003 at 08:01:52PM +0100, Jan Hubicka wrote:
>  >> > > I am almost done with verify_stmts except for tree sharing, as I am
>  >> > > still not clear about the tree sharing rules.  (Did I mentioned it in
>  >> > > original email?)
>  >> > 
>  >> > Yes.  I don't know anything about tree sharing rules.  I expect we
>  >> > can't share much.
>  >> 
>  >> I think we do pretty heavy shaing via CCP that does move around the
>  >> constant PLUS_EXPRs and friends.  I am not even aware of way to copy
>  >> tree expressions.
>  >> I wrote the code for testing and will run it once my other bootstrap
>  >> finish and come back with results.
>  >OK, first possitive in bootstrap is not very far:
>  >stage1/xgcc -Bstage1/ -B/usr/local/i686-pc-linux-gnu/bin/ -c   -g -O2
>  >-DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
>  >-Wmissing-prototypes -pedantic -Wno-long-long -Wold-style-definition
>  >-Werror -fno-common   -DHAVE_CONFIG_H -DGENERATOR_FILE    -I. -I.
>  >-I../../gcc -I../../gcc/.
>  >-I../../gcc/../include   ../../gcc/gengtype.c -o gengtype.o
>  >(const char *)"*x";
>  >
>  >../../gcc/gengtype.c: In function `write_local_func_for_structure':
>  >
>  >../../gcc/gengtype.c:2184: error: Wrong sharing of tree nodes
>  >../../gcc/gengtype.c:2184: internal compiler error: verify_stmts failed.
>  >
>  >
>  >A shared NOP.  Is this valid? If not, how to duplicate the nodes in CCP?
> Not enough context to know if it's valid.
You may see dump above:
(const char *)"*x";
It is constant.
> 
> I would expect a NOP of a constant to be shared since that's still a
> constant and we generally try to share constants.

OK, I will extend my sharing test by is_gimple_min_invariant.  Does that
look right?

Honza
> 
> jeff


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