(In reply to jr from comment #30) > (In reply to Ilia Mirkin from comment #29) > > Hmmmm... maybe it was one of my local patches? I'll try to figure out what > > went wrong later tonight. > > > > I added logic to be clever about edge types... when splitting an edge, the > > type should remain except a forward edge becomes a cross edge. (You can do > > it out on paper...) Perhaps that upset things? It doesn't seem like codegen > > is using those terms in the usual MST meanings :( > > I did take a look at the edge classification. Cannot say I fully understand > the implications yet, but I'm wondering whether the logic in > Graph::classifyDFS is correct. Shouldn't the condition for FORWARD edge > whenn looping over incoming edges (the second loop) be reversed? It's definitely *not* correct. On the bright side, it's never used. I tried using it when I was implementing a SPIR -> NV50 IR converter, and it was a pile of fail. Unfortunately I didn't have time last night to investigate this. But I'll definitely get *some* fix into mesa 11. Sorry this has dragged on for so long. Really if I could understand wtf the needNewElseBlock logic was trying to do, and could construct a test shader to hit this in *regular* scenarios, not just the lowered output of TXL, that would make me a lot more comfortable with any approach that we pick. But really I'm just going to make it return true always, and play around with stuff.