aco: form export clauses
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 <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30241>
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user