------- Additional Comments From aoliva at gcc dot gnu dot org  2005-04-12 
08:19 -------
Subject: Re: [PR target/20126, RFC] loop DEST_ADDR biv replacement may fail

On Apr 12, 2005, Alexandre Oliva <[EMAIL PROTECTED]> wrote:

> They are optimized away, but if I can figure out what the
> conditions are in which we don't need to introduce assignments to the
> giv, we could simply avoid all the messy new code, that assumes we
> absolutely must replace the expression with something else.

It appears that the only case in which we could do away with adding
the assignment is if giv->same is biv, and we mark the bl with
all_reduced=0.  It appears to me that, in any other case, the
assignment we're relying on might have been dropped or hoisted.

I'd love to be wrong, though.  If I am, we could get your problem, as
well as the original bug report, fixed by simply reverting my patch
and setting bl->all_reduced=0 if validate_change failed.  This
actually works for the testcases I've tried, but I'm not convinced it
works in the general case.  Does any expert in rtl loop care to chime
in?

Thanks,



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20126

Reply via email to