This is the mail archive of the
mailing list for the GCC project.
Re: [lno, ?tree-ssa] Fix coalesce_tpa_members
On Thu, 2004-03-04 at 08:48, Zdenek Dvorak wrote:
> > >
> > I believe you are correct, and I suspect it is finally showing up
> > because of the addition of the coalesce list, which changes some of the
> > numerical orderings we'd see. Funny how something like that can go on
> > forever....
> > Can you send me a .optimized detail dump?
> here it is.
> Must coalesce s_5 with the root variable s.
> Coalesce : s_4 &s (2 ,3): Success -> 2
> Coalesce : s_4 &s_41 (2 ,11): Success -> 11
Yeah, the problem is most obvious when the second argument in the
coalesce is the parameter. This hasnt really shown up much because in a
typical program the parameter is usually the first version of variable,
so 'var' would have been initialized to 's' before entering the loop.
Thus we got away with it a lot.
It could be surfacing now for a couple of reasons, either you are doing
some manipulations which moved an earlier version of 's' down, or more
likely the new ssa copy renaming pass could easily have renamed a
temporary variable from T.x_4 to 's_4'.
In any case, the fix looks good. Please apply it to the branch.