From bddd8b36a6d522d9f7597df0fa5512a1608c73d6 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Fri, 6 Feb 2026 16:16:36 +0000 Subject: [PATCH] aco: use RegisterDemand::operator[] more MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_ir.h | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/amd/compiler/aco_ir.h b/src/amd/compiler/aco_ir.h index 86078db7765..fef6fbf3a07 100644 --- a/src/amd/compiler/aco_ir.h +++ b/src/amd/compiler/aco_ir.h @@ -1042,13 +1042,7 @@ private: struct RegisterDemand { constexpr RegisterDemand() = default; constexpr RegisterDemand(const int16_t v, const int16_t s) noexcept : vgpr{v}, sgpr{s} {} - constexpr RegisterDemand(Temp t) noexcept - { - if (t.regClass().type() == RegType::sgpr) - sgpr = t.size(); - else - vgpr = t.size(); - } + constexpr RegisterDemand(Temp t) noexcept { (*this)[t.type()] = t.size(); } int16_t vgpr = 0; int16_t sgpr = 0; @@ -1113,19 +1107,13 @@ struct RegisterDemand { constexpr RegisterDemand& operator+=(const Temp t) noexcept { - if (t.type() == RegType::sgpr) - sgpr += t.size(); - else - vgpr += t.size(); + (*this)[t.type()] += t.size(); return *this; } constexpr RegisterDemand& operator-=(const Temp t) noexcept { - if (t.type() == RegType::sgpr) - sgpr -= t.size(); - else - vgpr -= t.size(); + (*this)[t.type()] -= t.size(); return *this; }