Skip to content

Commit 256bde4

Browse files
authored
[X86] Use Register in X86InstrBuilder.h. NFC (llvm#130514)
I had to give the X86AddressMode Base union a name and a constructor so it would default to Register. This means the Base.Reg = 0 in the X86AddressMode constructor is no longer needed.
1 parent 7d4d850 commit 256bde4

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

llvm/lib/Target/X86/X86InstrBuilder.h

+17-24
Original file line numberDiff line numberDiff line change
@@ -40,27 +40,20 @@ namespace llvm {
4040
/// with BP or SP and Disp being offsetted accordingly. The displacement may
4141
/// also include the offset of a global value.
4242
struct X86AddressMode {
43-
enum {
44-
RegBase,
45-
FrameIndexBase
46-
} BaseType;
43+
enum { RegBase, FrameIndexBase } BaseType = RegBase;
4744

48-
union {
49-
unsigned Reg;
45+
union BaseUnion {
46+
Register Reg;
5047
int FrameIndex;
51-
} Base;
5248

53-
unsigned Scale;
54-
unsigned IndexReg;
55-
int Disp;
56-
const GlobalValue *GV;
57-
unsigned GVOpFlags;
49+
BaseUnion() : Reg() {}
50+
} Base;
5851

59-
X86AddressMode()
60-
: BaseType(RegBase), Scale(1), IndexReg(0), Disp(0), GV(nullptr),
61-
GVOpFlags(0) {
62-
Base.Reg = 0;
63-
}
52+
unsigned Scale = 1;
53+
Register IndexReg;
54+
int Disp = 0;
55+
const GlobalValue *GV = nullptr;
56+
unsigned GVOpFlags = 0;
6457

6558
void getFullAddress(SmallVectorImpl<MachineOperand> &MO) {
6659
assert(Scale == 1 || Scale == 2 || Scale == 4 || Scale == 8);
@@ -121,7 +114,7 @@ static inline X86AddressMode getAddressFromInstr(const MachineInstr *MI,
121114
/// with no scale, index or displacement. An example is: DWORD PTR [EAX].
122115
///
123116
static inline const MachineInstrBuilder &
124-
addDirectMem(const MachineInstrBuilder &MIB, unsigned Reg) {
117+
addDirectMem(const MachineInstrBuilder &MIB, Register Reg) {
125118
// Because memory references are always represented with five
126119
// values, this adds: Reg, 1, NoReg, 0, NoReg to the instruction.
127120
return MIB.addReg(Reg).addImm(1).addReg(0).addImm(0).addReg(0);
@@ -130,7 +123,7 @@ addDirectMem(const MachineInstrBuilder &MIB, unsigned Reg) {
130123
/// Replace the address used in the instruction with the direct memory
131124
/// reference.
132125
static inline void setDirectAddressInInstr(MachineInstr *MI, unsigned Operand,
133-
unsigned Reg) {
126+
Register Reg) {
134127
// Direct memory address is in a form of: Reg/FI, 1 (Scale), NoReg, 0, NoReg.
135128
MI->getOperand(Operand).ChangeToRegister(Reg, /*isDef=*/false);
136129
MI->getOperand(Operand + 1).setImm(1);
@@ -154,16 +147,16 @@ addOffset(const MachineInstrBuilder &MIB, const MachineOperand& Offset) {
154147
/// displacement. An example is: DWORD PTR [EAX + 4].
155148
///
156149
static inline const MachineInstrBuilder &
157-
addRegOffset(const MachineInstrBuilder &MIB,
158-
unsigned Reg, bool isKill, int Offset) {
150+
addRegOffset(const MachineInstrBuilder &MIB, Register Reg, bool isKill,
151+
int Offset) {
159152
return addOffset(MIB.addReg(Reg, getKillRegState(isKill)), Offset);
160153
}
161154

162155
/// addRegReg - This function is used to add a memory reference of the form:
163156
/// [Reg + Reg].
164157
static inline const MachineInstrBuilder &
165-
addRegReg(const MachineInstrBuilder &MIB, unsigned Reg1, bool isKill1,
166-
unsigned SubReg1, unsigned Reg2, bool isKill2, unsigned SubReg2) {
158+
addRegReg(const MachineInstrBuilder &MIB, Register Reg1, bool isKill1,
159+
unsigned SubReg1, Register Reg2, bool isKill2, unsigned SubReg2) {
167160
return MIB.addReg(Reg1, getKillRegState(isKill1), SubReg1)
168161
.addImm(1)
169162
.addReg(Reg2, getKillRegState(isKill2), SubReg2)
@@ -224,7 +217,7 @@ addFrameReference(const MachineInstrBuilder &MIB, int FI, int Offset = 0) {
224217
///
225218
static inline const MachineInstrBuilder &
226219
addConstantPoolReference(const MachineInstrBuilder &MIB, unsigned CPI,
227-
unsigned GlobalBaseReg, unsigned char OpFlags) {
220+
Register GlobalBaseReg, unsigned char OpFlags) {
228221
//FIXME: factor this
229222
return MIB.addReg(GlobalBaseReg).addImm(1).addReg(0)
230223
.addConstantPoolIndex(CPI, 0, OpFlags).addReg(0);

0 commit comments

Comments
 (0)