On Thursday 03 September 2009 21:13, David Greene wrote:> Hmm...except there's a little dashed blue line from the call to the chain > (I think) field of the load. Is that the dependence I want? I don't know > how to read these graphs.Interesting. So with -view-legalize-dags, that little dashed blue line has moved from the load to the store that feeds the load. That's wrong. But it's still there with -view-legalize-types-dags, so legalize types must be buggy. But -disable-legalize-types doesn't fix the problem. So the general legalize code seems to have the same issue. LLVM 2.5 compiles this fine, so it's something we've altered in the codebase. I did a diff of all of our changes to lib/CodeGen and include/llvm/CodeGen but nothing jumpoed out as obviously wrong. I suppose it's possible we present slightly different code to the legalize passes than the unmodified LLVM. Fun times, indeed. -Dave
On Thu, Sep 3, 2009 at 7:24 PM, David Greene<dag at cray.com> wrote:> On Thursday 03 September 2009 21:13, David Greene wrote: > >> Hmm...except there's a little dashed blue line from the call to the chain >> (I think) field of the load. Is that the dependence I want? I don't know >> how to read these graphs. > > Interesting. So with -view-legalize-dags, that little dashed blue line has > moved from the load to the store that feeds the load. That's wrong. > > But it's still there with -view-legalize-types-dags, so legalize types must > be buggy. But -disable-legalize-types doesn't fix the problem. So the > general legalize code seems to have the same issue. > > LLVM 2.5 compiles this fine, so it's something we've altered in the codebase. > I did a diff of all of our changes to lib/CodeGen and include/llvm/CodeGen > but nothing jumpoed out as obviously wrong. I suppose it's possible we > present slightly different code to the legalize passes than the unmodified > LLVM. > > Fun times, indeed.You might want to try the -debug dumps; it might be a bit easier to follow. -Eli
Eli Friedman wrote:> You might want to try the -debug dumps; it might be a bit easier to follow.I find the -debug DAG dumps completely incomprehensible. Addresses are not fun to look at. :) But I have been looking at them as well. More analysis tomorrow. -Dave
Hi David, Interesting... I have come across a problem that looks like edge is being removed and I'm wondering if it may be related. The problem is described in http://llvm.org/bugs/show_bug.cgi?id=4891. Regards, Ben -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of David Greene Sent: Thursday, September 03, 2009 7:25 PM To: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] ScheduleDAG Question On Thursday 03 September 2009 21:13, David Greene wrote:> Hmm...except there's a little dashed blue line from the call to thechain> (I think) field of the load. Is that the dependence I want? I don'tknow> how to read these graphs.Interesting. So with -view-legalize-dags, that little dashed blue line has moved from the load to the store that feeds the load. That's wrong. But it's still there with -view-legalize-types-dags, so legalize types must be buggy. But -disable-legalize-types doesn't fix the problem. So the general legalize code seems to have the same issue. LLVM 2.5 compiles this fine, so it's something we've altered in the codebase. I did a diff of all of our changes to lib/CodeGen and include/llvm/CodeGen but nothing jumpoed out as obviously wrong. I suppose it's possible we present slightly different code to the legalize passes than the unmodified LLVM. Fun times, indeed. -Dave _______________________________________________ LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev