Lines Matching defs:source_idx
57 int source_idx; /* Current instruction to consider for moving */
65 /* Maximum demand of instructions from source_idx to insert_idx_clause (both exclusive) */
69 : source_idx(current_idx - 1), insert_idx_clause(current_idx), insert_idx(current_idx + 1),
81 int source_idx; /* Current instruction to consider for moving */
84 /* Maximum demand of instructions from insert_idx (inclusive) to source_idx (exclusive) */
87 UpwardsCursor(int source_idx_) : source_idx(source_idx_)
117 UpwardsCursor upwards_init(int source_idx, bool improved_rar);
161 assert(source_idx < insert_idx_clause);
166 for (int i = source_idx + 1; i < insert_idx_clause; ++i) {
205 * instruction at source_idx in front of the clause. Otherwise, the instruction
210 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx];
255 move_element(block->instructions.begin(), cursor.source_idx, dest_insert_idx);
258 move_element(register_demand, cursor.source_idx, dest_insert_idx);
259 for (int i = cursor.source_idx; i < dest_insert_idx - 1; i++)
263 if (cursor.source_idx != cursor.insert_idx_clause) {
276 cursor.source_idx--;
284 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx];
295 cursor.total_demand.update(register_demand[cursor.source_idx]);
296 cursor.source_idx--;
308 assert(insert_idx < source_idx);
311 for (int i = insert_idx; i < source_idx; ++i) {
319 MoveState::upwards_init(int source_idx, bool improved_rar_)
331 return UpwardsCursor(source_idx);
337 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx];
348 cursor.insert_idx = cursor.source_idx;
357 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx];
382 move_element(block->instructions.begin(), cursor.source_idx, cursor.insert_idx);
385 move_element(register_demand, cursor.source_idx, cursor.insert_idx);
387 for (int i = cursor.insert_idx + 1; i <= cursor.source_idx; i++)
391 cursor.total_demand.update(register_demand[cursor.source_idx]);
394 cursor.source_idx++;
405 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx];
414 cursor.total_demand.update(register_demand[cursor.source_idx]);
417 cursor.source_idx++;
666 assert(candidate_idx == cursor.source_idx);
681 (cursor.insert_idx - cursor.source_idx > (ctx.num_waves * 4) ||
728 assert(candidate_idx == up_cursor.source_idx);
808 assert(candidate_idx == cursor.source_idx);
902 assert(candidate_idx == up_cursor.source_idx);