mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 15:58:05 +02:00
aco/ra: initialize temp_in_scc earlier
We need to know if there's a temporary in SCC before the instruction, not after. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Fixes:93c8ebfa78("aco: Initial commit of independent AMD compiler") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10459> (cherry picked from commit4e459df0fc)
This commit is contained in:
parent
3838cc6010
commit
cb7b9f08e8
2 changed files with 3 additions and 2 deletions
|
|
@ -76,7 +76,7 @@
|
|||
"description": "aco/ra: initialize temp_in_scc earlier",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "93c8ebfa780ebd1495095e794731881aef29e7d3"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2270,6 +2270,8 @@ void register_allocation(Program *program, std::vector<IDSet>& live_out_per_bloc
|
|||
|
||||
assert(!is_phi(instr));
|
||||
|
||||
bool temp_in_scc = register_file[scc];
|
||||
|
||||
/* handle operands */
|
||||
for (unsigned i = 0; i < instr->operands.size(); ++i) {
|
||||
auto& operand = instr->operands[i];
|
||||
|
|
@ -2484,7 +2486,6 @@ void register_allocation(Program *program, std::vector<IDSet>& live_out_per_bloc
|
|||
if (!parallelcopy.empty()) {
|
||||
aco_ptr<Pseudo_instruction> pc;
|
||||
pc.reset(create_instruction<Pseudo_instruction>(aco_opcode::p_parallelcopy, Format::PSEUDO, parallelcopy.size(), parallelcopy.size()));
|
||||
bool temp_in_scc = register_file[scc];
|
||||
bool sgpr_operands_alias_defs = false;
|
||||
uint64_t sgpr_operands[4] = {0, 0, 0, 0};
|
||||
for (unsigned i = 0; i < parallelcopy.size(); i++) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue