Mesa (master): aco: error when block has no logical preds but VGPRs are live at the start

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 29 18:23:33 UTC 2020


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

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Jan  8 16:13:03 2020 +0000

aco: error when block has no logical preds but VGPRs are live at the start

This would have caught the liveness error fixed in the previous commit.

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3257>

---

 src/amd/compiler/aco_live_var_analysis.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_live_var_analysis.cpp b/src/amd/compiler/aco_live_var_analysis.cpp
index c00325b92b7..1f02e67bc1a 100644
--- a/src/amd/compiler/aco_live_var_analysis.cpp
+++ b/src/amd/compiler/aco_live_var_analysis.cpp
@@ -220,7 +220,8 @@ void process_live_temps_per_block(Program *program, live& lives, Block* block,
       phi_idx--;
    }
 
-   if (!(block->index != 0 || (live_vgprs.empty() && live_sgprs.empty()))) {
+   if ((block->logical_preds.empty() && !live_vgprs.empty()) ||
+       (block->linear_preds.empty() && !live_sgprs.empty())) {
       aco_print_program(program, stderr);
       fprintf(stderr, "These temporaries are never defined or are defined after use:\n");
       for (Temp vgpr : live_vgprs)



More information about the mesa-commit mailing list