aco: remove unnecessary reg_file.fill() operation in get_reg_create_vector()
authorDaniel Schürmann <daniel@schuermann.dev>
Thu, 2 Apr 2020 17:07:22 +0000 (18:07 +0100)
committerDaniel Schürmann <daniel@schuermann.dev>
Fri, 3 Apr 2020 22:13:15 +0000 (23:13 +0100)
No pipelinedb changes

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4002>

src/amd/compiler/aco_register_allocation.cpp

index 9dad429134705412511ec5e3023067d32928ffa9..5f2be2aa3dcc6260841913a306e35347a8219b4d 100644 (file)
@@ -837,12 +837,11 @@ PhysReg get_reg_create_vector(ra_ctx& ctx,
 
    /* move killed operands which aren't yet at the correct position */
    for (unsigned i = 0, offset = 0; i < instr->operands.size(); offset += instr->operands[i].size(), i++) {
-      if (instr->operands[i].isTemp() && instr->operands[i].isFirstKillBeforeDef() && instr->operands[i].getTemp().type() == rc.type()) {
-         if (instr->operands[i].physReg() != best_pos + offset)
-            vars.emplace(instr->operands[i].size(), instr->operands[i].tempId());
-         else
-            reg_file.fill(instr->operands[i]);
-      }
+      if (instr->operands[i].isTemp() &&
+          instr->operands[i].isFirstKillBeforeDef() &&
+          instr->operands[i].getTemp().type() == rc.type() &&
+          instr->operands[i].physReg() != best_pos + offset)
+         vars.emplace(instr->operands[i].size(), instr->operands[i].tempId());
    }
 
    ASSERTED bool success = false;