[llvm] 84dbe57 - [AMDGPU] Use std::array in GCNRegPressure (NFC) (#164117)

via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 18 15:41:43 PDT 2025


Author: Kazu Hirata
Date: 2025-10-18T15:41:40-07:00
New Revision: 84dbe575fa98defcf1b1ab7c1deb2211fa78e158

URL: https://github.com/llvm/llvm-project/commit/84dbe575fa98defcf1b1ab7c1deb2211fa78e158
DIFF: https://github.com/llvm/llvm-project/commit/84dbe575fa98defcf1b1ab7c1deb2211fa78e158.diff

LOG: [AMDGPU] Use std::array in GCNRegPressure (NFC) (#164117)

With std::array, we can simplify clear and operator==.

Added: 
    

Modified: 
    llvm/lib/Target/AMDGPU/GCNRegPressure.h

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/GCNRegPressure.h b/llvm/lib/Target/AMDGPU/GCNRegPressure.h
index 979a8b0abfb4c..4b22c68ef01c5 100644
--- a/llvm/lib/Target/AMDGPU/GCNRegPressure.h
+++ b/llvm/lib/Target/AMDGPU/GCNRegPressure.h
@@ -21,6 +21,7 @@
 #include "llvm/CodeGen/LiveIntervals.h"
 #include "llvm/CodeGen/RegisterPressure.h"
 #include <algorithm>
+#include <array>
 
 namespace llvm {
 
@@ -45,7 +46,7 @@ struct GCNRegPressure {
     return !Value[SGPR] && !Value[VGPR] && !Value[AGPR] && !Value[AVGPR];
   }
 
-  void clear() { std::fill(&Value[0], &Value[ValueArraySize], 0); }
+  void clear() { Value.fill(0); }
 
   unsigned getNumRegs(RegKind Kind) const {
     assert(Kind < TOTAL_KINDS);
@@ -127,9 +128,7 @@ struct GCNRegPressure {
   bool less(const MachineFunction &MF, const GCNRegPressure &O,
             unsigned MaxOccupancy = std::numeric_limits<unsigned>::max()) const;
 
-  bool operator==(const GCNRegPressure &O) const {
-    return std::equal(&Value[0], &Value[ValueArraySize], O.Value);
-  }
+  bool operator==(const GCNRegPressure &O) const { return Value == O.Value; }
 
   bool operator!=(const GCNRegPressure &O) const {
     return !(*this == O);
@@ -160,7 +159,7 @@ struct GCNRegPressure {
 
   /// Pressure for all register kinds (first all regular registers kinds, then
   /// all tuple register kinds).
-  unsigned Value[ValueArraySize];
+  std::array<unsigned, ValueArraySize> Value;
 
   static unsigned getRegKind(const TargetRegisterClass *RC,
                              const SIRegisterInfo *STI);


        


More information about the llvm-commits mailing list