It seems that the StructurizeCFG branch-on-constant bug not only crashes R600, but actually generates invalid code! It's clearly seen that in the IR code from comment 11 (structurizecfg output of comment 10) (j > 50) comparison is contained in block %14, so it must be reachable. But it's unreachable because the only branch there is that constant branch instruction from %25 that always avoids %14...