Lines Matching defs:current

100    Instruction* current;
111 /* for moving instructions before the current instruction to after it */
116 /* for moving instructions after the first use of the current instruction upwards */
139 * The novelty is that this scheduler cares for the current register pressure:
191 for (const Operand& op : current->operands) {
204 /* If add_to_clause is true, the current clause is extended by moving the
326 for (const Definition& def : current->definitions) {
645 Instruction* current, int idx)
653 if (current->opcode == aco_opcode::s_memtime || current->opcode == aco_opcode::s_memrealtime)
656 /* first, check if we have instructions before current to move down */
659 add_to_hazard_query(&hq, current);
682 current->operands[0].size() == 4))
685 if (candidate->format == Format::SMEM && current->operands[0].size() == 4 &&
721 /* find the first instruction depending on current or find another MEM */
725 /* second, check if we have instructions after current to move up */
735 /* check if candidate depends on current */
788 Instruction* current, int idx)
797 /* first, check if we have instructions before current to move down */
802 add_to_hazard_query(&indep_hq, current);
824 if (current->isVMEM() == candidate->isVMEM()) {
829 grab_dist < clause_max_grab_dist + k && should_form_clause(current, candidate.get());
832 /* if current depends on candidate, add additional dependencies and continue */
837 * than the current one will be.
842 while (should_form_clause(current,
895 /* find the first instruction depending on current or find another VMEM */
899 /* second, check if we have instructions after current to move up */
910 /* check if candidate depends on current */
960 Instruction* current, int idx)
971 add_to_hazard_query(&hq, current);
1015 Instruction* current = block->instructions[idx].get();
1017 if (block->kind & block_kind_export_end && current->isEXP() && ctx.schedule_pos_exports) {
1018 unsigned target = current->exp().dest;
1020 ctx.mv.current = current;
1021 schedule_position_export(ctx, block, live_vars.register_demand[block->index], current,
1026 if (current->definitions.empty())
1029 if (current->isVMEM() || current->isFlatLike()) {
1030 ctx.mv.current = current;
1031 schedule_VMEM(ctx, block, live_vars.register_demand[block->index], current, idx);
1034 if (current->isSMEM()) {
1035 ctx.mv.current = current;
1036 schedule_SMEM(ctx, block, live_vars.register_demand[block->index], current, idx);