looks ok, but I think I've seen similar problem and fix also. Can you
double check? Or anyone have done such fixes before?
Sun

On Sun, Dec 19, 2010 at 3:04 PM, Jian-Xin Lai <[email protected]> wrote:
> Hi,
>
> Can a gatekeeper review the patch to bug 659.
> http://bugs.open64.net/show_bug.cgi?id=659. Thank you very much.The case can
> be found in the bugzilla.
> BB9 is empty and it's the merge BB of the first IF statement. But due to the
> continue statement, BB9 is unreachable. In the first pass of DCE, BB9 is
> unreachable but still kept due to it's the merge BB of the first IF. There
> is a edge from fake entry to BB9 after the first DCE pass (in order to
> calculate the DOM).
> In the second DCE pass, BB9 is removed. But due to BB9 don't have any
> predecessor, the changed_cflow flag is not set and the DOM tree is not
> re-calculated. In the traversal of DOM tree in the later phase, BB9 is still
> visited and the assertion is triggered. The patch is to set the
> changed_cflow flag to TRUE so that the DOM tree can be updated.
>
> Index: opt_dce.cxx
> ===================================================================
> --- opt_dce.cxx (revision 1916)
> +++ opt_dce.cxx (working copy)
> @@ -1826,6 +1826,10 @@
>           nextsucc = succ_ref->Next();
>           changed_cflow |= Update_predecessor_lists( succ_ref->Node() );
>         }
> +        if (bb->Pred() == NULL) {
> +          // bb from fake entry is removed, cfg is changed
> +          changed_cflow = TRUE;
> +        }
>
>         _cfg->Remove_bb(bb);
>  #ifdef Is_True_On
>
>
>
> --
> Regards,
> Lai Jian-Xin
>
> ------------------------------------------------------------------------------
> Lotusphere 2011
> Register now for Lotusphere 2011 and learn how
> to connect the dots, take your collaborative environment
> to the next level, and enter the era of Social Business.
> http://p.sf.net/sfu/lotusphere-d2d
> _______________________________________________
> Open64-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>

------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Open64-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to