Summary: | [4.0 Regression] Aliasing problem with ivopts | ||
---|---|---|---|
Product: | gcc | Reporter: | Zdenek Dvorak <rakdver> |
Component: | tree-optimization | Assignee: | Zdenek Dvorak <rakdver> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | gcc-bugs |
Priority: | P2 | Keywords: | alias, wrong-code |
Version: | 4.0.0 | ||
Target Milestone: | 4.0.0 | ||
Host: | i686-pc-linux-gnu | Target: | i686-pc-linux-gnu |
Build: | i686-pc-linux-gnu | Known to work: | |
Known to fail: | Last reconfirmed: | 2004-09-28 11:37:15 |
Description
Zdenek Dvorak
2004-09-26 15:55:35 UTC
As I said in another bug, this really should not be done with the subtraction at all, on PPC at least it is better to have different IV's for the arrays. Does not ICE wrong keyword, woops :). Subject: Re: [4.0 Regression] Aliasing problem with ivopts
Hello,
> As I said in another bug, this really should not be done with the
> subtraction at all, on PPC at least it is better to have different
> IV's for the arrays.
I do not think the memory reference would get expressed in this way on
PPC (if it does, it is a bug in cost function for ivopts and please
create a bugreport for it). However on i686 this seems to be the best
option, taking the register pressure into account.
Zdenek
Confirmed. Zdenek are you going to apply the patch, it has been approved? Subject: Re: [4.0 Regression] Aliasing problem with ivopts
> Zdenek are you going to apply the patch, it has been approved?
the patch was approved, but after thinking about it more, I noted that
it works by pure luck only, and that the fix for find_base_value
would need to be more complicated.
However in the meantime the patch to prevent ivopts from producing the
type of expressions that caused the problem was commited, so the PR
should no longer reproduce.
Zdenek
Then should we close this bug as fixed or at least move it from being a 4.0 regression? Zdenek, can you check if this bug still makes sense or close it if it does not reproduce anymore? You are the one that knows if there is still an underlying problem to fix or not. The code in find_base_value very likely is not entirely OK, but I do not know about a way how it could cause problems with just the currently used optimizations. Since this code will disappear once we start using results of tree alias analysis at rtl level, I think we can consider the bug fixed. |