Lines Matching defs:block
52 * determine which blocks require helper invocations. A block requires
54 * depends on a block that requires invocation. With that analysis, the
56 * block that does *not* require invocations out.
111 /* Does a block use helpers directly */
113 bi_block_uses_helpers(bi_block *block)
115 bi_foreach_instr_in_block(block, I) {
124 bi_block_terminates_helpers(bi_block *block)
127 bi_foreach_successor(block, succ) {
141 bi_propagate_pass_flag(bi_block *block)
143 block->pass_flags = 1;
145 bi_foreach_predecessor(block, pred) {
161 bi_foreach_block(ctx, block)
162 block->pass_flags = 0;
164 /* For each block, check if it uses helpers and propagate that fact if
166 * if the (unique) last block uses helpers, only that block is tested.
168 bi_foreach_block_rev(ctx, block) {
169 if (block->pass_flags == 0 && bi_block_uses_helpers(block))
170 bi_propagate_pass_flag(block);
181 bi_foreach_block(ctx, block) {
183 bool helpers = !bi_block_terminates_helpers(block);
185 bi_foreach_clause_in_block_rev(block, clause) {
186 bi_foreach_instr_in_clause_rev(block, clause, I) {
196 bi_helper_block_update(BITSET_WORD *deps, bi_block *block)
200 bi_foreach_instr_in_block_rev(block, I) {
247 bi_foreach_block(ctx, block) {
248 bi_worklist_push_tail(&worklist, block);