This is the mail archive of the gcc-patches@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: [tuples] Tuplify some passes


Hi,

> >> >> > The cunroll bits cause a couple of test suite failures (although
> >> >> > bootstrap completes without trouble).  I'll commit the uncprop part
> >> >> > and see if I can fix the other bits.
> >> >>
> >> >> This turns out to be a problem in tree-ssa-loop-niter.c:get_val_for().
> >> >>  There used to be a fold() call there so that "val = fold (...)" would
> >> >> always be non-NULL -- fold() just returns the original expression if
> >> >> there is nothing to fold.  But in the tuplified version, there is "val
> >> >> = gimple_fold(...)" and gimple_fold() returns NULL if there is nothing
> >> >> to fold.
> >> >
> >> > on what statement does it happen (why does gimple_fold return NULL)?
> >>
> >> The gimple it tries to fold is "&buf + 2".
> >
> > the simplest solution seems to be to make get_val_for return &buf + 2 in this
> > case.
> 
> Yes, but it'd have to be an old-style tree, not a tuple.  I'm not sure
> if we want that.  Do we build this kind of trees elsewhere on the
> tuples branch?

yes -- certainly in scev analysis and all the related analyses,

Zdenek


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