Module: Mesa
Branch: main
Commit: 4491b94d58e474b479dd5e0db772dbf30d292548
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4491b94d58e474b479dd5e0db772dbf30d292548

Author: Timur Kristóf <[email protected]>
Date:   Wed Nov 25 19:53:51 2020 +0100

aco: Don't DCE instructions that write non-temps, eg. exec.

No Fossil DB changes.
This commit makes DCE usable after RA.

Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7779>

---

 src/amd/compiler/aco_dead_code_analysis.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_dead_code_analysis.cpp 
b/src/amd/compiler/aco_dead_code_analysis.cpp
index b6203d5070b..80b4696cb63 100644
--- a/src/amd/compiler/aco_dead_code_analysis.cpp
+++ b/src/amd/compiler/aco_dead_code_analysis.cpp
@@ -82,7 +82,7 @@ bool is_dead(const std::vector<uint16_t>& uses, Instruction 
*instr)
    if (instr->definitions.empty() || instr->isBranch())
       return false;
    if (std::any_of(instr->definitions.begin(), instr->definitions.end(),
-          [&uses] (const Definition& def) { return uses[def.tempId()];}))
+          [&uses] (const Definition& def) { return !def.isTemp() || 
uses[def.tempId()];}))
       return false;
    return !(get_sync_info(instr).semantics & (semantic_volatile | 
semantic_acqrel));
 }

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

Reply via email to