This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New regressions as of 2003-11-04
On Tue, 2003-11-04 at 21:50, Andrew MacLeod wrote:
> On Tue, 2003-11-04 at 20:52, Diego Novillo wrote:
> > On Tue, 2003-11-04 at 16:51, law@redhat.com wrote:
> >
> > > if (set != -1)
> > > goto lab1;
> > > else
> > > goto lab2;
> > >
> > > lab1:
> > > set = 0;
> > > goto lab3;
> > > lab2:
> > > set = -1;
> > > lab3:
> > > [ ... ]
> > >
> > > Which looks precisely like what we've got now.
> > >
> > Yes, but what I had in mind is to go out of SSA in DOM order. Andrew
> > was thinking of doing some post-processing in the out-of-ssa pass.
> > Maybe we could add this as well.
> >
> > Andrew, does that sound too gross for the out-of-ssa pass?
>
> What does going out of SSA in DOM order do?
>
It lets you keep track of equivalences like this one and avoid inserting
unnecessary copies.
> SSA->normal doesnt klnow
> anything about equivilences, and Im not too keen on teaching it anything
> about them.
>
*shrug* I think it's cleaner if this was handled within the framework.
I'd like to avoid piling hacks on remove_useless_stmts_and_vars. But
I'll go with whatever works and is maintainable long term.
> I dont understand why the existing routines wont work with a little
> tweaking... The inforamtion is still identical, there just happens to be
> a branch in between instead of the stmt hung off the COND_EXPR. If the
> existing stuff does destroy the CFG, perhaps we ought to do this part of
> it before we destroy the CFG.....
>
We actually want to preserve the CFG until RTL expansion time. I
believe Jan or Zdenek had plans for that.
Diego.