Module: Mesa
Branch: master
Commit: 0f31fa1b645e881e5e293193c85d66f5e7e48c9a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f31fa1b645e881e5e293193c85d66f5e7e48c9a

Author: Rhys Perry <[email protected]>
Date:   Mon Oct 26 19:22:14 2020 +0000

aco: skip value numbering of copies

Instead, copy-propagate through and remove them.

This improves value numbering in this situation:
a = ...
b = copy a
c = copy a
use(b)
use(c)

Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7216>

---

 src/amd/compiler/aco_opt_value_numbering.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/amd/compiler/aco_opt_value_numbering.cpp 
b/src/amd/compiler/aco_opt_value_numbering.cpp
index 11aad20a0b0..91e03eb3cc0 100644
--- a/src/amd/compiler/aco_opt_value_numbering.cpp
+++ b/src/amd/compiler/aco_opt_value_numbering.cpp
@@ -393,6 +393,7 @@ void process_block(vn_ctx& ctx, Block& block)
           !instr->definitions[0].isFixed() && instr->operands[0].isTemp() && 
instr->operands[0].regClass() == instr->definitions[0].regClass() &&
           !instr->isDPP() && !((int)instr->format & (int)Format::SDWA)) {
          ctx.renames[instr->definitions[0].tempId()] = 
instr->operands[0].getTemp();
+         continue;
       }
 
       instr->pass_flags = ctx.exec_id;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to