Lines Matching defs:block
70 /* the current basic block being validated */
71 nir_block *block;
963 /* In order for block copies to work properly for things like instruction
1018 state->block->predecessors->entries);
1024 nir_block *block = state->block;
1025 validate_assert(state, &instr->instr == nir_block_last_instr(block));
1030 validate_assert(state, block->successors[0] == state->impl->end_block);
1031 validate_assert(state, block->successors[1] == NULL);
1042 validate_assert(state, block->successors[0] == after);
1044 validate_assert(state, block->successors[1] == NULL);
1054 validate_assert(state, block->successors[0] == first);
1056 validate_assert(state, block->successors[1] == NULL);
1063 validate_assert(state, instr->target == block->successors[0]);
1070 validate_assert(state, instr->target == block->successors[1]);
1071 validate_assert(state, instr->else_target == block->successors[0]);
1086 validate_assert(state, instr->block == state->block);
1160 validate_phi_srcs(nir_block *block, nir_block *succ, validate_state *state)
1166 validate_phi_src(nir_instr_as_phi(instr), block, state);
1217 validate_block_predecessors(nir_block *block, validate_state *state)
1220 if (block->successors[i] == NULL)
1223 /* The block has to exist in the nir_function_impl */
1225 block->successors[i]));
1229 _mesa_set_search(block->successors[i]->predecessors, block));
1231 validate_phi_srcs(block, block->successors[i], state);
1234 /* The start block cannot have any predecessors */
1235 if (block == nir_start_block(state->impl))
1236 validate_assert(state, block->predecessors->entries == 0);
1238 set_foreach(block->predecessors, entry) {
1241 validate_assert(state, pred->successors[0] == block ||
1242 pred->successors[1] == block);
1247 validate_block(nir_block *block, validate_state *state)
1249 validate_assert(state, block->cf_node.parent == state->parent_node);
1251 state->block = block;
1253 exec_list_validate(&block->instr_list);
1254 nir_foreach_instr(instr, block) {
1256 validate_assert(state, instr == nir_block_first_instr(block) ||
1263 validate_assert(state, block->successors[0] != NULL);
1264 validate_assert(state, block->successors[0] != block->successors[1]);
1265 validate_block_predecessors(block, state);
1268 validate_assert(state, nir_block_ends_in_jump(block));
1269 } else if (!nir_block_ends_in_jump(block)) {
1270 nir_cf_node *next = nir_cf_node_next(&block->cf_node);
1275 validate_assert(state, block->successors[0] == first);
1276 /* due to the hack for infinite loops, block->successors[1] may
1277 * point to the block after the loop.
1285 validate_assert(state, block->successors[0] == after);
1286 validate_assert(state, block->successors[1] == NULL);
1291 validate_assert(state, block->successors[0] == state->impl->end_block);
1292 validate_assert(state, block->successors[1] == NULL);
1301 validate_assert(state, block->successors[0] ==
1303 validate_assert(state, block->successors[1] ==
1307 validate_assert(state, block->successors[0] ==
1309 validate_assert(state, block->successors[1] == NULL);
1320 validate_end_block(nir_block *block, validate_state *state)
1322 validate_assert(state, block->cf_node.parent == &state->impl->cf_node);
1324 exec_list_validate(&block->instr_list);
1325 validate_assert(state, exec_list_is_empty(&block->instr_list));
1327 validate_assert(state, block->successors[0] == NULL);
1328 validate_assert(state, block->successors[1] == NULL);
1329 validate_block_predecessors(block, state);
1574 if (src->ssa->parent_instr->block == src->parent_instr->block) {
1579 validate_assert(state, nir_block_dominates(src->ssa->parent_instr->block,
1580 src->parent_instr->block));
1590 nir_foreach_block(block, impl) {
1591 state->block = block;
1592 nir_foreach_instr(instr, block) {
1598 nir_block_dominates(src->src.ssa->parent_instr->block,