From 4574cd9faef20fc6519d8ecce7f9bf77ede7ee2a Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Wed, 17 Jul 2024 14:43:40 +0100 Subject: [PATCH] aco: form export clauses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is useful for the export priority workaround. It also moves copy/conversion instructions up from in-between exports. fossil-db (gfx1150): Totals from 9974 (12.56% of 79395) affected shaders: Instrs: 7038168 -> 6949186 (-1.26%) CodeSize: 37988148 -> 37632220 (-0.94%) Latency: 44759046 -> 44324922 (-0.97%); split: -0.97%, +0.00% InvThroughput: 8213681 -> 8201222 (-0.15%); split: -0.15%, +0.00% fossil-db (navi21): Totals from 16785 (21.14% of 79395) affected shaders: Instrs: 9282414 -> 9282302 (-0.00%) CodeSize: 50252480 -> 50252032 (-0.00%) Latency: 59716988 -> 59610334 (-0.18%); split: -0.18%, +0.00% InvThroughput: 12681965 -> 12680380 (-0.01%); split: -0.01%, +0.00% Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_scheduler_ilp.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_scheduler_ilp.cpp b/src/amd/compiler/aco_scheduler_ilp.cpp index 7887ecc092b..7855cb66c0e 100644 --- a/src/amd/compiler/aco_scheduler_ilp.cpp +++ b/src/amd/compiler/aco_scheduler_ilp.cpp @@ -305,7 +305,8 @@ is_memory_instr(const Instruction* const instr) /* For memory instructions, we allow to reorder them with ALU if it helps * to form larger clauses or to increase def-use distances. */ - return instr->isVMEM() || instr->isFlatLike() || instr->isSMEM() || instr->accessesLDS(); + return instr->isVMEM() || instr->isFlatLike() || instr->isSMEM() || instr->accessesLDS() || + instr->isEXP(); } constexpr unsigned max_sgpr = 128;