<div dir="ltr">On 20 December 2013 06:39, Topi Pohjolainen <span dir="ltr"><<a href="mailto:topi.pohjolainen@intel.com" target="_blank">topi.pohjolainen@intel.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Unfortunately the unit tests need to be patched as well. This is<br>
because the direct eu-emitter only patches jump counters for<br>
if-else (see patch_IF_ELSE()) while the fs_generator patches the<br>
endif as well (see brw_set_uip_jip()).<br></blockquote><div><br></div><div>I think the fact that blorp wasn't patching jump counters for if-else was a previously undiscovered bug in blorp.  I suspect that the reason we never discovered it was because blorp doesn't contain complex enough flow control to cause an endif to ever execute a jump.<br>

<br>I'd recommend splitting this patch into two patches:<br><br>1. fix the previously undiscovered blorp bug (by having blorp call brw_set_uip_jip() at the appropriate time) and update the unit tests.<br><br></div><div>

2. switch eu-emitter to use FS IR and fs_generator.<br><br></div><div>That will make it a lot easier to reassure ourselves that the changes are correct, and in the unlikely event that we later discover that they aren't, it'll make it easier to bisect to the problem.<br>
<br></div><div>With this patch split, it is:<br><br>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br>
</div><br></div><div class="gmail_quote">I've sent comments on patches 24, 27, 37, 38, 39, and 41.  All the others are:<br><br></div><div class="gmail_quote">Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br>
<br><br></div><div class="gmail_quote">I really like how you structured this series, Topi.  It was easy to follow what you did and to reassure myself that it was correct.  And I'm really glad you did it, since it led us to discover two preexisting bugs!  Nice work.<br>
</div></div></div>