i965/cfg: Fix cfg_t::dump() when a block has no immediate dominator.

Switch statements introduce a bogus loop with an unconditional break at
the end of the loop, just before the while...so the while is unreachable
and has no immediate dominator.

v2: With less exuberance

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Kenneth Graunke
2015-10-05 16:21:10 -07:00
parent 2496cfd771
commit a4e988f481
+5 -1
View File
@@ -426,7 +426,11 @@ cfg_t::dump(backend_shader *s)
calculate_idom();
foreach_block (block, this) {
fprintf(stderr, "START B%d IDOM(B%d)", block->num, block->idom->num);
if (block->idom)
fprintf(stderr, "START B%d IDOM(B%d)", block->num, block->idom->num);
else
fprintf(stderr, "START B%d IDOM(none)", block->num);
foreach_list_typed(bblock_link, link, link, &block->parents) {
fprintf(stderr, " <-B%d",
link->block->num);