This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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