Lines Matching defs:instructions
33 /* # of instructions in the block */
37 bi_instr **instructions;
39 /* Bitset of instructions in the block ready for scheduling */
43 * unscheduled instructions that must still be scheduled after (before)
44 * this instruction. dependents are which instructions need to be
126 * around message-passing instructions */
138 * case missing is tilebuffer instructions that access depth/stencil, which
157 /* Attribute, texture, and UBO load (attribute message) instructions support
235 bi_instr *ins = st.instructions[i];
246 * about bundling; reordering of message-passing instructions
300 /* If there is a branch, all instructions depend on it, as interblock
303 bi_instr *last = st.instructions[st.count - 1];
423 if (list_is_empty(&block->instructions))
426 *len = list_length(&block->instructions);
427 bi_instr **instructions = malloc(sizeof(bi_instr *) * (*len));
432 instructions[i++] = ins;
434 return instructions;
437 /* The worklist would track instructions without outstanding dependencies. For
445 st.instructions = bi_flatten_block(block, &st.count);
469 free(st.instructions);
570 * paired instructions) can run afoul of the "no two writes on the last clause"
933 /* Not all instructions can read from the staging passthrough (as determined by
934 * reads_t), check if a given pair of instructions has such a restriction. Note
1027 /* Instruction placement entails two questions: what subset of instructions in
1049 /* Some instructions have placement requirements */
1060 /* Message-passing instructions are not guaranteed write within the
1160 /* Message-passing instructions impose constraints on the registers
1167 /* Last instructions are big constraints (XXX: no effect on shader-db) */
1185 bi_instr *instr = st.instructions[i];
1192 /* Tie break in favour of later instructions, under the
1225 /* This could be optimized to allow pairing integer instructions with
1226 * special flush-to-zero instructions, but punting on this until we have
1270 /* Don't pair instructions if debugging */
1281 bi_instr *instr = st.instructions[idx];
1661 /* Schedule a single clause. If no instructions remain, return NULL. */
1715 /* Update liveness from the new instructions */
1787 bi_must_not_last(st.instructions[some_instruction - 1]);
1925 /* Reorder instructions to match the new schedule. First remove
1926 * existing instructions and then recreate the list */
1935 list_addtail(&ins->link, &block->instructions);
1947 bi_print_instr(st.instructions[i], stderr);
1952 unreachable("The above instructions failed to schedule.");