Lines Matching defs:block
28 * The basic model of the list scheduler is to take a basic block, compute a
1486 struct qblock *block,
1490 list_addtail(&inst->link, &block->instructions);
1507 emit_nop(struct v3d_compile *c, struct qblock *block,
1510 insert_scheduled_instruction(c, block, scoreboard, vir_nop());
1751 struct qblock *block,
1769 emit_nop(c, block, scoreboard);
1773 emit_nop(c, block, scoreboard);
1782 vir_for_each_inst_rev(prev_inst, block) {
1837 insert_scheduled_instruction(c, block, scoreboard, inst);
1850 emit_nop(c, block, scoreboard);
1862 emit_nop(c, block, scoreboard);
1896 struct qblock *block,
1922 insert_scheduled_instruction(c, block, scoreboard, inst);
1928 while (slots_filled < 3 && block->instructions.next != &inst->link) {
1983 block->branch_qpu_ip = c->qpu_inst_count - 1 - slots_filled;
1989 * first instructions in the successor block after scheduling
1993 emit_nop(c, block, scoreboard);
2068 struct qblock *block,
2102 struct qinst *prev = (struct qinst *) block->instructions.prev;
2171 struct qblock *block,
2238 if (fixup_pipelined_ldvary(c, scoreboard, block, inst)) {
2261 block->branch_uniform = *next_uniform;
2286 * block, so free it now.
2292 time += emit_thrsw(c, block, scoreboard, qinst, false);
2294 emit_branch(c, block, scoreboard, qinst);
2296 insert_scheduled_instruction(c, block,
2307 struct qblock *block,
2319 while (!list_is_empty(&block->instructions)) {
2320 struct qinst *qinst = (struct qinst *)block->instructions.next;
2336 uint32_t cycles = schedule_instructions(c, scoreboard, block,
2350 vir_for_each_block(block, c) {
2351 /* The end block of the program has no branch. */
2352 if (!block->successors[0])
2356 * block must follow immediately after this one.
2358 if (block->branch_qpu_ip == ~0) {
2359 assert(block->end_qpu_ip + 1 ==
2360 block->successors[0]->start_qpu_ip);
2368 struct list_head *entry = block->instructions.prev;
2396 assert(!block->successors[1] ||
2397 block->successors[1]->start_qpu_ip ==
2398 block->branch_qpu_ip + 4);
2401 ((block->successors[0]->start_qpu_ip -
2402 (block->branch_qpu_ip + 4)) *
2414 (block->successors[0]->start_uniform -
2415 (block->branch_uniform + 1)) * 4;
2419 * block.
2426 &block->successors[0]->instructions;
2478 vir_for_each_block(block, c) {
2479 fprintf(stderr, "BLOCK %d\n", block->index);
2481 &block->instructions, link) {
2490 vir_for_each_block(block, c) {
2491 block->start_qpu_ip = c->qpu_inst_count;
2492 block->branch_qpu_ip = ~0;
2493 block->start_uniform = next_uniform;
2497 block,
2502 block->end_qpu_ip = c->qpu_inst_count - 1;