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
