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 self checking infrastructure


> On Wed, 2003-11-19 at 13:04, law@redhat.com wrote:
> 
> > 
> >  >3) SSA form testing
> >  >   We should have verify_ssa that ensures that stream is in valid SSA
> >  >   form.  I am not quite sure how to best implement this, but I guess I
> >  >   can simply verify that all the pointers points corectly and that each
> >  >   use is dominated by the def it points to.  Correct?
> > Right.  Each use needs to be dominated by its def and there should only be
> > a single def for each SSA_NAME.
> > 
> 
> Isnt that already verified in SSA->normal?
It would be easier to have this in simple function so one can call it in
the middle of queue.
> 
> > 
> >  >   This also brings me into question how the rewrite_into_ssa updates
> >  >   the SSA form.  What happens when the variable has been already
> >  >   optimized so live ranges of it's SSA_NAMES overlap and I ask for
> >  >   variable SSA form to be recomputed?
> > You lose.  You lose badly.  Don't do that :-)
> > 
> > Having a verification step that you don't rename an already renamed 
> > variable after a certain point (after the dominator based jump threading)
> > would be good.
> > 
> > Long term we _may_ want the ability to run the SSA to normal pass on a
> > specific set of variables.  That would allow us to do dominator based
> > jump threading anytime we want, take the injured variables out of SSA
> > form, then put them back into SSA form.
> 
> That would actually be pretty trivial.. it already runs only on
> partitions created by create_ssa_var_map().. all you need to do is
> create a different partition set with just the variables you care
> about... dead simple :-)  Of course you might be interested in any new
> names that overlaping live ranges create...

Would be possible for you to look into it?
I think the current sollution has good potential to bring hidden
problems.

Honza
> 
> Andrew


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