This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] Out of SSA status and issues


On Mon, May 12, 2003 at 10:42:43AM -0400, Andrew MacLeod wrote:

> So this problem needs to be resolved before we can turn on overlapping
> ranges. We must not propagate copies which are going to cause conflicts
> with other registers that are used across abnormal critical edges.  
> 
Perhaps we could just teach copy-prop not to use critical edges
for the time being.  Or, to avoid pessimizing too much, we could
try and use the same check we have now for overlapping live
ranges in the SSA renamer.  I'm not sure if it's feasible,
though.

> The real solution to this is to use the real pointer in the stmt, and
> make it a a real use instead of a virtual use.  Diego is currently
> investigating this. Then rewrite would simply be replacing p_7 with the
> correct variable and not need to go hunting through virtual operands to 
> see if it needs to do something or not.
> 
Yes, I've got a partial patch for this.  The main problem that I
need to fix now is the fact that INDIRECT_REF nodes are shared.
So, when rename the base pointer of an INDIRECT_REF variable, we
automatically rename them all.

We can't just unshare the INDIRECT_REF nodes.  The solution needs
to share all the nodes that have the same pointer (i.e., all the
(*p_3)_n SSA names need to have the same variable *p_3 as their
SSA_NAME_VAR).  Once I fix that, it should all just work (FLW).


> Once we resolve these issues, we should be able to at least attempt to
> turn on overlapping live ranges, and give ourselves lots of other bugs
> to look at :-)
> 
Indeed :)


Diego.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]