diff --git a/src/amd/compiler/aco_ir.h b/src/amd/compiler/aco_ir.h index d78e4bc4084..e6eb1a5d910 100644 --- a/src/amd/compiler/aco_ir.h +++ b/src/amd/compiler/aco_ir.h @@ -1015,6 +1015,13 @@ 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(); + } int16_t vgpr = 0; int16_t sgpr = 0;