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: [tcb] Incremental SSA updates


Hello,

> > -- I had to disable lambda-code.c:perfect_nestify in case there are exit phi
> >    nodes for the outer loop (this causes a regression -- ltrans1.c is no
> >    longer optimized).  The reason is that perfect_nestify behaves
> >    wrong in this case -- it keeps the exit phi nodes in the original
> >    loop, although some of the values may be defined in the part of the
> >    code that was moved to the new loop, thus causing failures in
> >    verify_ssa.  Just moving the phi nodes to the exit of the new loop
> >    is not right either (this fails in case the values are defined in the
> >    inner loop). 
> >   I am not really sure whether I interpret the code
> >    correctly, or why this does not fail without the patch; Daniel, could
> >    you please have a look?
> 
> I believe we went over this before. you aren't actually interpreting the
> code correctly, because that's not where the real bug is.
> The mark_for_rewrite call you removed was there to keep it from
> releasing the phi node names while we moved them.  If you don't have it,
> it will simply release them when we remove the phi nodes from one block,
> and then they get reused, but are still referenced in the copies we
> moved, as well as wherever else they got reused, which is the real
> reason why you get verify_ssa failures.

no, I have solved this problem (I simply set PHI_RESULT of the removed
phi to NULL before releasing it). This is something entirely different.

Zdenek


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