https://bugs.freedesktop.org/show_bug.cgi?id=90887 --- Comment #24 from Ilia Mirkin --- (In reply to jr from comment #23) > (In reply to Ilia Mirkin from comment #22) > > (In reply to jr from comment #21) > > > Created attachment 117077 [details] [review] [review] [review] > > > Prototype of a more highlevel graph modification api > > > > > > ... > > > > Hrm, I was about to (try to) push this out, but it doesn't seem to work. I > > made a few local adjustments, like > > > > RegAlloc::PhiMovesPass::isCriticalEdge(BasicBlock *b, BasicBlock *p) > > { > > return b->cfg.incidentCount() > 1 && p->cfg.outgoingCount() > 1; > > } > > > > ... > > > > > > where did BB:4 go? poof. not great :( this is with piglit's > > tests/shaders/ssa/fs-critical-edge.shader_test > > > > I guess I'll go with either your or my first patches. Want to get this fixed > > for Mesa 11, which is going to get branched off some time tomorrow. > > Sorry, most probably my prototype code is crap. I'll have an hour now to > look at it. I'll let you know if I find something. Otherwise I'm fine with > your first patch. Awesome! While I don't know whether the isCriticalEdge thing is the right thing to do instead of the current needNewElseBlock logic, I do think that splitEdge should be able to work properly even if needNewElseBlock always returns true. -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug.