<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 5, 2014 at 4:13 PM, Matt Turner <span dir="ltr"><<a href="mailto:mattst88@gmail.com" target="_blank">mattst88@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">When the earlier block ended with control flow, we'd mistakenly remove<br>
some of its links to its children. The same happened with the later<br>
block.<br>
---<br>
 src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp | 10 +++++++---<br>
 1 file changed, 7 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp b/src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp<br>
index b7a1d7e..047c2c0 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp<br>
@@ -107,10 +107,14 @@ fs_visitor::opt_peephole_predicated_break()<br>
       }<br>
       endif_inst->remove(endif_block);<br>
<br>
-      earlier_block->children.make_empty();<br>
-      later_block->parents.make_empty();<br>
+      if (!earlier_block->ends_with_control_flow()) {<br>
+         earlier_block->children.make_empty();<br>
+         earlier_block->add_successor(cfg->mem_ctx, jump_block);<br>
+      }<br>
<br>
-      earlier_block->add_successor(cfg->mem_ctx, jump_block);<br>
+      if (!later_block->starts_with_control_flow()) {<br>
+         later_block->parents.make_empty();<br>
+      }<br></blockquote><div><br></div><div>I *think* this is correct.  I didn't really understand it before and I don't 100% now.<br><br></div><div>Acked-by: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
       jump_block->add_successor(cfg->mem_ctx, later_block);<br>
<br>
       if (earlier_block->can_combine_with(jump_block)) {<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.0.4<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>