From 95967c2ca0423f2d2a114ec233dc28422679e116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 13 Jun 2024 12:11:59 +0200 Subject: [PATCH] aco/reindex_ssa: replace live_var parameter with boolean Part-of: --- src/amd/compiler/aco_ir.h | 3 +-- src/amd/compiler/aco_lower_to_cssa.cpp | 2 +- src/amd/compiler/aco_reindex_ssa.cpp | 31 ++++++++------------------ 3 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/amd/compiler/aco_ir.h b/src/amd/compiler/aco_ir.h index 554b1bdc95c..32c05aecc7e 100644 --- a/src/amd/compiler/aco_ir.h +++ b/src/amd/compiler/aco_ir.h @@ -2095,8 +2095,7 @@ public: uint32_t peekAllocationId() { return allocationID; } - friend void reindex_ssa(Program* program); - friend void reindex_ssa(Program* program, std::vector& live_out); + friend void reindex_ssa(Program* program, bool update_live_out); Block* create_and_insert_block() { diff --git a/src/amd/compiler/aco_lower_to_cssa.cpp b/src/amd/compiler/aco_lower_to_cssa.cpp index b53d4850492..74f6b9ac67f 100644 --- a/src/amd/compiler/aco_lower_to_cssa.cpp +++ b/src/amd/compiler/aco_lower_to_cssa.cpp @@ -516,7 +516,7 @@ emit_parallelcopies(cssa_ctx& ctx) void lower_to_cssa(Program* program) { - reindex_ssa(program, program->live.live_out); + reindex_ssa(program, true); cssa_ctx ctx = {program, program->live.live_out}; collect_parallelcopies(ctx); emit_parallelcopies(ctx); diff --git a/src/amd/compiler/aco_reindex_ssa.cpp b/src/amd/compiler/aco_reindex_ssa.cpp index 15b96873494..8a83a00b618 100644 --- a/src/amd/compiler/aco_reindex_ssa.cpp +++ b/src/amd/compiler/aco_reindex_ssa.cpp @@ -76,34 +76,21 @@ reindex_program(idx_ctx& ctx, Program* program) program->temp_rc = ctx.temp_rc; } -void -update_live_out(idx_ctx& ctx, std::vector& live_out) -{ - for (IDSet& set : live_out) { - IDSet new_set; - for (uint32_t id : set) - new_set.insert(ctx.renames[id]); - set = new_set; - } -} - } /* end namespace */ void -reindex_ssa(Program* program) +reindex_ssa(Program* program, bool update_live_out = false) { idx_ctx ctx; reindex_program(ctx, program); - - program->allocationID = program->temp_rc.size(); -} - -void -reindex_ssa(Program* program, std::vector& live_out) -{ - idx_ctx ctx; - reindex_program(ctx, program); - update_live_out(ctx, live_out); + if (update_live_out) { + for (IDSet& set : program->live.live_out) { + IDSet new_set; + for (uint32_t id : set) + new_set.insert(ctx.renames[id]); + set = new_set; + } + } program->allocationID = program->temp_rc.size(); }