On Thursday 03 September 2009 16:04, Eli Friedman wrote:> My first step would be to make sure there's an appropriate edge in the > selection DAG... there's a possibility something could get messed up > by legalization or the dagcombiner.I turned off dagcombine and it didn't help.> Since scheduling and selection is mostly within a block, hopefully it > wouldn't be too hard to come up with a testcase?Yep, I've got a much reduced testcase now (and converted from Fortran to C which makes things much easier to work with). I'm going to test against TOT and see if I see the same problem. -Dave
On Thursday 03 September 2009 18:22, David Greene wrote:> > Since scheduling and selection is mostly within a block, hopefully it > > wouldn't be too hard to come up with a testcase? > > Yep, I've got a much reduced testcase now (and converted from Fortran > to C which makes things much easier to work with). I'm going to test > against TOT and see if I see the same problem.TOT is bug-free. I'm about to try 2.5. My little testcase definitely has missing edges in the sched dag and sunit dag. Where do edges from loads of globals to calls get added? That's what's missing here. -Dave
On Thu, Sep 3, 2009 at 5:55 PM, David Greene<dag at cray.com> wrote:> On Thursday 03 September 2009 18:22, David Greene wrote: > >> > Since scheduling and selection is mostly within a block, hopefully it >> > wouldn't be too hard to come up with a testcase? >> >> Yep, I've got a much reduced testcase now (and converted from Fortran >> to C which makes things much easier to work with). I'm going to test >> against TOT and see if I see the same problem. > > TOT is bug-free. I'm about to try 2.5. > > My little testcase definitely has missing edges in the sched dag and sunit > dag. Where do edges from loads of globals to calls get added? That's what's > missing here.They should be there from the very beginning, when the selection dag is built. -Eli