[PATCH] D141890: [BOLT][NFC] Use GR64 RegClass in getGPRegs

Amir Ayupov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 16 21:13:18 PST 2023


Amir created this revision.
Amir added a reviewer: bolt.
Herald added subscribers: treapster, ayermolo, pengfei.
Herald added a reviewer: rafauler.
Herald added a reviewer: maksfb.
Herald added a project: All.
Amir requested review of this revision.
Herald added subscribers: llvm-commits, yota9.
Herald added a project: LLVM.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D141890

Files:
  bolt/lib/Target/X86/X86MCPlusBuilder.cpp


Index: bolt/lib/Target/X86/X86MCPlusBuilder.cpp
===================================================================
--- bolt/lib/Target/X86/X86MCPlusBuilder.cpp
+++ bolt/lib/Target/X86/X86MCPlusBuilder.cpp
@@ -812,40 +812,12 @@
     Regs |= getAliases(X86::XMM1);
   }
 
-  void getGPRegs(BitVector &Regs, bool IncludeAlias) const override {
-    if (IncludeAlias) {
-      Regs |= getAliases(X86::RAX);
-      Regs |= getAliases(X86::RBX);
-      Regs |= getAliases(X86::RBP);
-      Regs |= getAliases(X86::RSI);
-      Regs |= getAliases(X86::RDI);
-      Regs |= getAliases(X86::RDX);
-      Regs |= getAliases(X86::RCX);
-      Regs |= getAliases(X86::R8);
-      Regs |= getAliases(X86::R9);
-      Regs |= getAliases(X86::R10);
-      Regs |= getAliases(X86::R11);
-      Regs |= getAliases(X86::R12);
-      Regs |= getAliases(X86::R13);
-      Regs |= getAliases(X86::R14);
-      Regs |= getAliases(X86::R15);
-      return;
-    }
-    Regs.set(X86::RAX);
-    Regs.set(X86::RBX);
-    Regs.set(X86::RBP);
-    Regs.set(X86::RSI);
-    Regs.set(X86::RDI);
-    Regs.set(X86::RDX);
-    Regs.set(X86::RCX);
-    Regs.set(X86::R8);
-    Regs.set(X86::R9);
-    Regs.set(X86::R10);
-    Regs.set(X86::R11);
-    Regs.set(X86::R12);
-    Regs.set(X86::R13);
-    Regs.set(X86::R14);
-    Regs.set(X86::R15);
+  void getGPRegs(BitVector &Regs, bool IncludeAlias = true) const override {
+    for (MCPhysReg Reg : X86MCRegisterClasses[X86::GR64RegClassID])
+      if (IncludeAlias)
+        Regs |= getAliases(Reg);
+      else
+        Regs.set(Reg);
   }
 
   void getClassicGPRegs(BitVector &Regs) const override {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141890.489696.patch
Type: text/x-patch
Size: 1623 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230117/d7b2c2c1/attachment.bin>


More information about the llvm-commits mailing list