<div dir="ltr">On 18 August 2013 18:06, Kenneth Graunke <span dir="ltr"><<a href="mailto:kenneth@whitecape.org" target="_blank">kenneth@whitecape.org</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">This was invaluable when debugging the global copy propagation<br>
algorithm.  We may as well commit it in case someone needs to print<br>
out the sets in the future.<br>
<br>
Signed-off-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>><br></blockquote><div><br></div><div>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
---<br>
 .../drivers/dri/i965/brw_fs_copy_propagation.cpp   | 30 ++++++++++++++++++++++<br>
 1 file changed, 30 insertions(+)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp<br>
index 7464498..2780ab6 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp<br>
@@ -83,6 +83,8 @@ public:<br>
    void setup_initial_values();<br>
    void run();<br>
<br>
+   void dump_block_data() const;<br>
+<br>
    void *mem_ctx;<br>
    cfg_t *cfg;<br>
<br>
@@ -243,6 +245,34 @@ fs_copy_prop_dataflow::run()<br>
    } while (progress);<br>
 }<br>
<br>
+void<br>
+fs_copy_prop_dataflow::dump_block_data() const<br>
+{<br>
+   for (int b = 0; b < cfg->num_blocks; b++) {<br>
+      bblock_t *block = cfg->blocks[b];<br>
+      printf("Block %d [%d, %d] (parents ", block->block_num,<br>
+             block->start_ip, block->end_ip);<br>
+      foreach_list(block_node, &block->parents) {<br>
+         bblock_t *parent = ((bblock_link *) block_node)->block;<br>
+         printf("%d ", parent->block_num);<br>
+      }<br>
+      printf("):\n");<br>
+      printf("       livein = 0x");<br>
+      for (int i = 0; i < bitset_words; i++)<br>
+         printf("%08x", bd[b].livein[i]);<br>
+      printf(", liveout = 0x");<br>
+      for (int i = 0; i < bitset_words; i++)<br>
+         printf("%08x", bd[b].liveout[i]);<br>
+      printf(",\n       copy   = 0x");<br>
+      for (int i = 0; i < bitset_words; i++)<br>
+         printf("%08x", bd[b].copy[i]);<br>
+      printf(", kill    = 0x");<br>
+      for (int i = 0; i < bitset_words; i++)<br>
+         printf("%08x", bd[b].kill[i]);<br>
+      printf("\n");<br>
+   }<br>
+}<br>
+<br>
 bool<br>
 fs_visitor::try_copy_propagate(fs_inst *inst, int arg, acp_entry *entry)<br>
 {<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.3.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>