Lines Matching defs:block

34    /* Array of all blocks indexed by block->index. */
58 * added directly. Instead, they are created, the instr->block pointer
65 /* Array of SSA defs, indexed by block. For each block, this array has has
68 * - NULL. Indicates that there is no known definition in this block. If
69 * you need to find one, look at the block's immediate dominator.
71 * - NEEDS_PHI. Indicates that the block may need a phi node but none has
72 * been created yet. If a def is requested for a block, a phi will need
82 * Convert a block index into a value that can be used as a key for a hash table
103 nir_foreach_block(block, impl) {
104 pb->blocks[block->index] = block;
146 /* If there's more than one return statement, then the end block
148 * no instructions in the end block, so nothing would use those
151 * end block...
176 nir_block *block, nir_ssa_def *def)
178 _mesa_hash_table_insert(&val->ht, INDEX_TO_KEY(block->index), def);
183 nir_block *block)
188 nir_block *dom = block;
205 * finding a definition or that this block is unreachable. In either
216 /* The magic value NEEDS_PHI indicates that the block needs a phi node
223 * empty (have no sources) and won't actually be placed in the block's
226 * place them at the top of their respective block's instruction list.
237 phi->instr.block = dom;
253 * block that is not dominated by this one.
256 for (dom = block; dom != NULL; dom = dom->imm_dom) {
287 nir_block **preds = nir_block_get_predecessors_sorted(phi->instr.block, pb);
289 for (unsigned i = 0; i < phi->instr.block->predecessors->entries; i++) {
296 nir_instr_insert(nir_before_block(phi->instr.block), &phi->instr);