Skip to content

Commit 2356b8d

Browse files
committed
Restore LOW32_ADDR_ACCESSRegClass definition
Somehow there are code changes in tests when unused.
1 parent f5ce84e commit 2356b8d

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61512,7 +61512,8 @@ static bool isGRClass(const TargetRegisterClass &RC) {
6151261512
return RC.hasSuperClassEq(&X86::GR8RegClass) ||
6151361513
RC.hasSuperClassEq(&X86::GR16RegClass) ||
6151461514
RC.hasSuperClassEq(&X86::GR32RegClass) ||
61515-
RC.hasSuperClassEq(&X86::GR64RegClass);
61515+
RC.hasSuperClassEq(&X86::GR64RegClass) ||
61516+
RC.hasSuperClassEq(&X86::LOW32_ADDR_ACCESS_RBPRegClass);
6151661517
}
6151761518

6151861519
/// Check if \p RC is a vector register class.

llvm/lib/Target/X86/X86RegisterInfo.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,10 @@ def GR64_NOREX2_NOSP : RegisterClass<"X86", [i64], 64,
716716
// which we do not have right now.
717717
def LOW32_ADDR_ACCESS : RegisterClass<"X86", [i32], 32, (add GR32, RIP)>;
718718

719+
// FIXME: This is unused, but deleting it results in codegen changes
720+
def LOW32_ADDR_ACCESS_RBP : RegisterClass<"X86", [i32], 32,
721+
(add LOW32_ADDR_ACCESS, RBP)>;
722+
719723
// A class to support the 'A' assembler constraint: [ER]AX then [ER]DX.
720724
def GR32_AD : RegisterClass<"X86", [i32], 32, (add EAX, EDX)>;
721725
def GR64_AD : RegisterClass<"X86", [i64], 64, (add RAX, RDX)>;

0 commit comments

Comments
 (0)