On 18 August 2013 18:06, Kenneth Graunke <kenn...@whitecape.org> wrote:
> This was invaluable when debugging the global copy propagation > algorithm. We may as well commit it in case someone needs to print > out the sets in the future. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > Reviewed-by: Paul Berry <stereotype...@gmail.com> > --- > .../drivers/dri/i965/brw_fs_copy_propagation.cpp | 30 > ++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp > b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp > index 7464498..2780ab6 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp > @@ -83,6 +83,8 @@ public: > void setup_initial_values(); > void run(); > > + void dump_block_data() const; > + > void *mem_ctx; > cfg_t *cfg; > > @@ -243,6 +245,34 @@ fs_copy_prop_dataflow::run() > } while (progress); > } > > +void > +fs_copy_prop_dataflow::dump_block_data() const > +{ > + for (int b = 0; b < cfg->num_blocks; b++) { > + bblock_t *block = cfg->blocks[b]; > + printf("Block %d [%d, %d] (parents ", block->block_num, > + block->start_ip, block->end_ip); > + foreach_list(block_node, &block->parents) { > + bblock_t *parent = ((bblock_link *) block_node)->block; > + printf("%d ", parent->block_num); > + } > + printf("):\n"); > + printf(" livein = 0x"); > + for (int i = 0; i < bitset_words; i++) > + printf("%08x", bd[b].livein[i]); > + printf(", liveout = 0x"); > + for (int i = 0; i < bitset_words; i++) > + printf("%08x", bd[b].liveout[i]); > + printf(",\n copy = 0x"); > + for (int i = 0; i < bitset_words; i++) > + printf("%08x", bd[b].copy[i]); > + printf(", kill = 0x"); > + for (int i = 0; i < bitset_words; i++) > + printf("%08x", bd[b].kill[i]); > + printf("\n"); > + } > +} > + > bool > fs_visitor::try_copy_propagate(fs_inst *inst, int arg, acp_entry *entry) > { > -- > 1.8.3.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev