I have attached a patch that fixes this problem.

Description:
-----
This patch adds a bb_remove_edge() function, and decouples unreachable blocks
from the CFG by removing their successor edges.
-----

I think this is the best way to handle unreachable blocks in the CFG,
other than removing them, which is an -O1 optimization.

I still don't have commit access, so someone else can apply it now, or
I will apply it once I do, if there are no complaints.
-Curtis

On 7/29/05, Curtis Rawls <[EMAIL PROTECTED]> wrote:
> Thanks for pointing this out.  I tracked the bug down, and it looks
> like the dominator algorithm does not handle unreachable blocks
> correctly, and the dominance frontier algorithm suffers for it.  Why
> the unreachable blocks are generated in the first place might be an
> interesting question for someone working on PGE.
> 
> I'll work on the dominator bug before applying the DF patch.
> -Curtis
> 
> On 7/28/05, Will Coleda <[EMAIL PROTECTED]> wrote:
> > The eval tests are failing with a pristine checkout so we can ignore
> > those. Applying your patch to a pristine build yields only the
> > backtrack.t failure: #2 eats 100% of the CPU until I kill it: it
> > doesn't behave that way in svn-head.
> >
> > Looks like PerlString and String were red herrings. Should track down
> > why p6rules is misbehaving with your patch, though.
> >
> > Regards.
> >
> > On Jul 28, 2005, at 1:55 PM, Will Coleda wrote:
> >
> > > FYI, on OS X 10.4.2, I get:
> > >
> > > Failed Test           Stat Wstat Total Fail  Failed  List of Failed
> > > ----------------------------------------------------------------------
> > > ---------
> > > t/p6rules/backtrack.t    1   256    15    1   6.67%  2
> > > t/pmc/eval.t             3   768    14    3  21.43%  12-14
> > > t/pmc/perlstring.t       1   256    68    1   1.47%  61
> > > t/pmc/string.t           1   256    35    1   2.86%  28
> > >
> > > I have some slight differences from svn-latest which of course
> > > "shouldn't affect these tests". =-)
> > >
> > > On Jul 19, 2005, at 10:39 PM, Curtis Rawls (via RT) wrote:
> > >
> > >
> > >> # New Ticket Created by  Curtis Rawls
> > >> # Please include the string:  [perl #36597]
> > >> # in the subject line of all future correspondence about this issue.
> > >> # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36597 >
> > >>
> > >>
> > >> This patch adds support for "dominance frontiers" in imcc, including:
> > >> -Array of Sets for dominance frontiers
> > >> -An efficient algorithm described in "A Simple, Fast Dominance
> > >> Algorithm", Cooper et al. (2001)
> > >> -Free and dump functions
> > >>
> > >> -Curtis
> > >>
> > >> <df.patch>
> > >>
> > >>
> > >
> > >
> > >
> >
> >
>

Reply via email to