Lines Matching defs:block

41  * The basic model of the list scheduler is to take a basic block,
658 void add_insts_from_block(bblock_t *block);
678 void schedule_instructions(bblock_t *block);
693 * The register pressure at the beginning of each basic block.
699 * The virtual GRF's whose range overlaps the beginning of each basic block.
705 * The virtual GRF's whose range overlaps the end of each basic block.
711 * The hardware GRF's whose range overlaps the end of each basic block.
804 for (int block = 0; block < cfg->num_blocks; block++) {
806 if (BITSET_TEST(live.block_data[block].livein, i)) {
808 if (!BITSET_TEST(livein[block], vgrf)) {
809 reg_pressure_in[block] += v->alloc.sizes[vgrf];
810 BITSET_SET(livein[block], vgrf);
814 if (BITSET_TEST(live.block_data[block].liveout, i))
815 BITSET_SET(liveout[block], live.vgrf_from_var[i]);
819 /* Now, extend the live in/live out sets for when a range crosses a block
823 for (int block = 0; block < cfg->num_blocks - 1; block++) {
825 if (live.vgrf_start[i] <= cfg->blocks[block]->end_ip &&
826 live.vgrf_end[i] >= cfg->blocks[block + 1]->start_ip) {
827 if (!BITSET_TEST(livein[block + 1], i)) {
828 reg_pressure_in[block + 1] += v->alloc.sizes[i];
829 BITSET_SET(livein[block + 1], i);
832 BITSET_SET(liveout[block], i);
844 for (int block = 0; block < cfg->num_blocks; block++) {
845 if (cfg->blocks[block]->start_ip <= payload_last_use_ip[i])
846 reg_pressure_in[block]++;
848 if (cfg->blocks[block]->end_ip <= payload_last_use_ip[i])
849 BITSET_SET(hw_liveout[block], i);
988 instruction_scheduler::add_insts_from_block(bblock_t *block)
990 foreach_inst_in_block(backend_instruction, inst, block) {
1018 * from the top instead of from the bottom of the block.
1752 instruction_scheduler::schedule_instructions(bblock_t *block)
1756 int instructions_to_schedule = block->end_ip - block->start_ip + 1;
1759 reg_pressure = reg_pressure_in[block->num];
1760 block_idx = block->num;
1776 block->instructions.push_tail(chosen->inst);
1860 foreach_block(block, cfg) {
1868 foreach_inst_in_block(fs_inst, inst, block)
1872 add_insts_from_block(block);
1879 schedule_instructions(block);