This is the mail archive of the gcc-patches@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: [patch] Avoid ssa update in cfg cleanup


On Wed, 2006-02-15 at 10:56 -0500, Diego Novillo wrote:
> Zdenek Dvorak wrote:
> 
> > 1) V_MAY_DEF may become V_MUST_DEF after copy propagation.  In this
> >    case, we would lose the old ssa names in update_stmt, which would force
> >    us to use update_ssa.  The tree-ssa-operands changes ensure that
> >    V_MUST_DEF operands may inherit the ssa names of old V_MAY_DEF operands.
> > 
> Hmm, I'm a bit hesitant about this change.  I would like Andrew's
> opinion first.  I understand why it's needed and I tend to agree,
> however, we do lose the static checking provided by the separate types.
>  Perhaps we will need to add a checking feature like we have on trees,
> so that at least accessors like MUSTDEF_KILL can assert that they're
> indeed operating on a V_MUST_DEF.  Andrew?


FINALIZE_PRESERVE_OLD_OPS is set to true for all mustdefs right?  If I
change a stmt in such a way that it would cause a MUSTDEF to go away, it
is going to still be retained after a call to update_stmt isn't it? how
would it ever get removed?  

I also prefer not to unite the maydef and mustdef structures. They are
conceptually different and should remain separate I think. Its simple
enough to provide a function to convert a maydef to a mustdef while
maintaining use links if that is what is needed.

Andrew




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