------- 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