Mesa (main): r600/sfn: Never consider an op with register dest as dead
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 13 13:31:37 UTC 2022
Module: Mesa
Branch: main
Commit: 0b0a04635b764b972262466f81042b839bd1b198
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b0a04635b764b972262466f81042b839bd1b198
Author: Gert Wollny <gert.wollny at collabora.com>
Date: Mon Jul 11 20:09:59 2022 +0200
r600/sfn: Never consider an op with register dest as dead
Another hot-fix: when a local register is written to, it is
actually unlikely that the value is never used, so just make
sure that this is never done.
Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Reviewed-by: Filip Gawin <filip at gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484>
---
src/gallium/drivers/r600/sfn/sfn_optimizer.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp b/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp
index f20ea1e052c..18fb4e4f2d8 100644
--- a/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp
@@ -128,7 +128,8 @@ void DCEVisitor::visit(AluInstr *instr)
if (instr->has_instr_flag(Instr::dead))
return;
- if (instr->dest() && instr->dest()->has_uses()) {
+ if (instr->dest() &&
+ (instr->dest()->has_uses() || !instr->dest()->is_ssa()) ) {
sfn_log << SfnLog::opt << " dest used\n";
return;
}
More information about the mesa-commit
mailing list