Skip to content

Conversation

@jiang1997
Copy link
Contributor

@jiang1997 jiang1997 commented Oct 23, 2025

WIP

Fixes #155430

The FIXME comment appears to be outdated. Deleting the register class
has no observable impact on code generation in the current codebase.

Fixes llvm#155430
@jiang1997 jiang1997 marked this pull request as ready for review October 23, 2025 17:09
@llvmbot
Copy link
Member

llvmbot commented Oct 23, 2025

@llvm/pr-subscribers-backend-x86

Author: None (jiang1997)

Changes

The FIXME comment appears to be outdated. Deleting the register class has no observable impact on code generation in the current codebase.

Fixes #155430


Full diff: https://github.com/llvm/llvm-project/pull/164850.diff

2 Files Affected:

  • (modified) llvm/lib/Target/X86/X86ISelLowering.cpp (+1-2)
  • (modified) llvm/lib/Target/X86/X86RegisterInfo.td (-4)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index d49f25a950e3a..4bd26a2216ba1 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -61643,8 +61643,7 @@ static bool isGRClass(const TargetRegisterClass &RC) {
   return RC.hasSuperClassEq(&X86::GR8RegClass) ||
          RC.hasSuperClassEq(&X86::GR16RegClass) ||
          RC.hasSuperClassEq(&X86::GR32RegClass) ||
-         RC.hasSuperClassEq(&X86::GR64RegClass) ||
-         RC.hasSuperClassEq(&X86::LOW32_ADDR_ACCESS_RBPRegClass);
+         RC.hasSuperClassEq(&X86::GR64RegClass);
 }
 
 /// Check if \p RC is a vector register class.
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.td b/llvm/lib/Target/X86/X86RegisterInfo.td
index 99b7910131dc5..1c58b31700b75 100644
--- a/llvm/lib/Target/X86/X86RegisterInfo.td
+++ b/llvm/lib/Target/X86/X86RegisterInfo.td
@@ -716,10 +716,6 @@ def GR64_NOREX2_NOSP : RegisterClass<"X86", [i64], 64,
 // which we do not have right now.
 def LOW32_ADDR_ACCESS : RegisterClass<"X86", [i32], 32, (add GR32, RIP)>;
 
-// FIXME: This is unused, but deleting it results in codegen changes
-def LOW32_ADDR_ACCESS_RBP : RegisterClass<"X86", [i32], 32,
-                                          (add LOW32_ADDR_ACCESS, RBP)>;
-
 // A class to support the 'A' assembler constraint: [ER]AX then [ER]DX.
 def GR32_AD : RegisterClass<"X86", [i32], 32, (add EAX, EDX)>;
 def GR64_AD : RegisterClass<"X86", [i64], 64, (add RAX, RDX)>;

@jiang1997 jiang1997 marked this pull request as draft October 23, 2025 17:29
@jiang1997 jiang1997 changed the title [X86] Remove LOW32_ADDR_ACCESS_RBP RegisterClass [WIP][X86] Remove LOW32_ADDR_ACCESS_RBP RegisterClass Oct 23, 2025
@jiang1997 jiang1997 closed this Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[X86] Remove LOW32_ADDR_ACCESS_RBP RegisterClass

2 participants