Home | History | Annotate | Download | only in vc4

Lines Matching refs:block

59 qir_setup_use(struct vc4_compile *c, struct qblock *block, int ip,
69 /* The use[] bitset marks when the block makes
71 * defined that variable within the block.
73 if (!BITSET_TEST(block->def, var))
74 BITSET_SET(block->use, var);
96 qir_setup_def(struct vc4_compile *c, struct qblock *block, int ip,
100 * block completely screens off previous updates of
111 * the block, there's nothing to do.
113 if (BITSET_TEST(block->use, var) || BITSET_TEST(block->def, var))
127 BITSET_SET(block->def, var);
145 * as defining the temp within the block, because otherwise dst's live
170 BITSET_SET(block->def, var);
189 * defined-before-used in the block.
202 qir_for_each_block(block, c) {
203 block->start_ip = ip;
207 qir_for_each_inst(inst, block) {
209 qir_setup_use(c, block, ip, inst->src[i]);
211 qir_setup_def(c, block, ip, partial_update_ht, inst);
231 block->end_ip = ip;
242 qir_for_each_block_rev(block, c) {
247 qir_for_each_successor(succ, block) {
250 ~block->live_out[i]);
252 block->live_out[i] |= new_live_out;
260 BITSET_WORD new_live_in = (block->use[i] |
261 (block->live_out[i] &
262 ~block->def[i]));
263 if (new_live_in & ~block->live_in[i]) {
264 block->live_in[i] |= new_live_in;
280 qir_for_each_block(block, c) {
282 if (BITSET_TEST(block->live_in, i)) {
284 block->start_ip);
286 block->start_ip);
289 if (BITSET_TEST(block->live_out, i)) {
291 block->end_ip);
293 block->end_ip);
317 qir_for_each_block(block, c) {
318 block->def = rzalloc_array(c, BITSET_WORD, bitset_words);
319 block->use = rzalloc_array(c, BITSET_WORD, bitset_words);
320 block->live_in = rzalloc_array(c, BITSET_WORD, bitset_words);
321 block->live_out = rzalloc_array(c, BITSET_WORD, bitset_words);