Home
last modified time | relevance | path

Searched defs:improved_rar_ (Results 1 - 1 of 1) sorted by relevance

/third_party/mesa3d/src/amd/compiler/
H A Daco_scheduler.cpp161 assert(source_idx < insert_idx_clause); assert(insert_idx_clause < insert_idx); RegisterDemand reference_demand; for (int i = source_idx + 1; i < insert_idx_clause; ++i) { reference_demand.update(register_demand[i]); } assert(total_demand == reference_demand); reference_demand = {}; for (int i = insert_idx_clause; i < insert_idx; ++i) { reference_demand.update(register_demand[i]); } assert(clause_demand == reference_demand); } DownwardsCursor MoveState::downwards_init(int current_idx, bool improved_rar_, bool may_form_clauses) { improved_rar = improved_rar_; std::fill(depends_on.begin(), depends_on.end(), false); if (improved_rar) { std::fill(RAR_dependencies.begin(), RAR_dependencies.end(), false); if (may_form_clauses) std::fill(RAR_dependencies_clause.begin(), RAR_dependencies_clause.end(), false); } for (const Operand& op : current->operands) { if (op.isTemp()) { depends_on[op.tempId()] = true; if (improved_rar && op.isFirstKill()) RAR_dependencies[op.tempId()] = true; } } DownwardsCursor cursor(current_idx, register_demand[current_idx]); cursor.verify_invariants(register_demand); return cursor; } MoveResult MoveState::downwards_move(DownwardsCursor& cursor, bool add_to_clause) { aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx]; for (const Definition& def : instr->definitions) if (def.isTemp() && depends_on[def.tempId()]) return move_fail_ssa; std::vector<bool>& RAR_deps = improved_rar ? (add_to_clause ? RAR_dependencies_clause : RAR_dependencies) : depends_on; for (const Operand& op : instr->operands) verify_invariants() argument

Completed in 3 milliseconds