Skip to content

Commit e121f72

Browse files
committed
X86: Rename X86MCExpr::VK_ to X86::S_
Rename these relocation specifier constants, aligning with the naming convention used by other targets (`S_` instead of `VK_`). Move constants to X86MCAsmInfo.h, with the goal of eventually removing X86MCExpr.h. Similar to llvm#144633 for AArch64.
1 parent 1a94bcf commit e121f72

12 files changed

+191
-202
lines changed

llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "MCTargetDesc/X86BaseInfo.h"
1010
#include "MCTargetDesc/X86EncodingOptimization.h"
1111
#include "MCTargetDesc/X86IntelInstPrinter.h"
12+
#include "MCTargetDesc/X86MCAsmInfo.h"
1213
#include "MCTargetDesc/X86MCExpr.h"
1314
#include "MCTargetDesc/X86MCTargetDesc.h"
1415
#include "MCTargetDesc/X86TargetStreamer.h"
@@ -2118,7 +2119,7 @@ bool X86AsmParser::ParseIntelExpression(IntelExprStateMachine &SM, SMLoc &End) {
21182119
if (IDVal == "f" || IDVal == "b") {
21192120
MCSymbol *Sym =
21202121
getContext().getDirectionalLocalSymbol(IntVal, IDVal == "b");
2121-
auto Variant = X86MCExpr::VK_None;
2122+
auto Variant = X86::S_None;
21222123
const MCExpr *Val =
21232124
MCSymbolRefExpr::create(Sym, Variant, getContext());
21242125
if (IDVal == "b" && Sym->isUndefined())
@@ -2265,7 +2266,7 @@ bool X86AsmParser::ParseIntelInlineAsmIdentifier(
22652266
return false;
22662267
// Create the symbol reference.
22672268
MCSymbol *Sym = getContext().getOrCreateSymbol(Identifier);
2268-
auto Variant = X86MCExpr::VK_None;
2269+
auto Variant = X86::S_None;
22692270
Val = MCSymbolRefExpr::create(Sym, Variant, getParser().getContext());
22702271
return false;
22712272
}

llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include "MCTargetDesc/X86BaseInfo.h"
1010
#include "MCTargetDesc/X86EncodingOptimization.h"
1111
#include "MCTargetDesc/X86FixupKinds.h"
12-
#include "MCTargetDesc/X86MCExpr.h"
12+
#include "MCTargetDesc/X86MCAsmInfo.h"
1313
#include "llvm/ADT/StringSwitch.h"
1414
#include "llvm/BinaryFormat/ELF.h"
1515
#include "llvm/BinaryFormat/MachO.h"
@@ -359,7 +359,7 @@ static bool hasVariantSymbol(const MCInst &MI) {
359359
continue;
360360
const MCExpr &Expr = *Operand.getExpr();
361361
if (Expr.getKind() == MCExpr::SymbolRef &&
362-
getSpecifier(cast<MCSymbolRefExpr>(&Expr)) != X86MCExpr::VK_None)
362+
cast<MCSymbolRefExpr>(&Expr)->getSpecifier())
363363
return true;
364364
}
365365
return false;
@@ -748,7 +748,7 @@ bool X86AsmBackend::fixupNeedsRelaxationAdvanced(const MCFixup &Fixup,
748748

749749
// Otherwise, relax unless there is a @ABS8 specifier.
750750
if (Fixup.getKind() == FK_Data_1 && Target.getAddSym() &&
751-
Target.getSpecifier() == X86MCExpr::VK_ABS8)
751+
Target.getSpecifier() == X86::S_ABS8)
752752
return false;
753753
return true;
754754
}

llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp

Lines changed: 59 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
#include "MCTargetDesc/X86FixupKinds.h"
10-
#include "MCTargetDesc/X86MCExpr.h"
10+
#include "MCTargetDesc/X86MCAsmInfo.h"
1111
#include "MCTargetDesc/X86MCTargetDesc.h"
1212
#include "llvm/BinaryFormat/ELF.h"
1313
#include "llvm/MC/MCAsmInfo.h"
@@ -39,10 +39,10 @@ class X86ELFObjectWriter : public MCELFObjectTargetWriter {
3939

4040
void checkIs32(SMLoc Loc, X86_64RelType Type) const;
4141
void checkIs64(SMLoc Loc, X86_64RelType Type) const;
42-
unsigned getRelocType32(SMLoc Loc, X86MCExpr::Specifier Specifier,
42+
unsigned getRelocType32(SMLoc Loc, X86::Specifier Specifier,
4343
X86_32RelType Type, bool IsPCRel,
4444
MCFixupKind Kind) const;
45-
unsigned getRelocType64(SMLoc Loc, X86MCExpr::Specifier Specifier,
45+
unsigned getRelocType64(SMLoc Loc, X86::Specifier Specifier,
4646
X86_64RelType Type, bool IsPCRel,
4747
MCFixupKind Kind) const;
4848
};
@@ -57,8 +57,8 @@ X86ELFObjectWriter::X86ELFObjectWriter(bool IsELF64, uint8_t OSABI,
5757
(EMachine != ELF::EM_386) &&
5858
(EMachine != ELF::EM_IAMCU)) {}
5959

60-
static X86_64RelType getType64(MCFixupKind Kind,
61-
X86MCExpr::Specifier &Specifier, bool &IsPCRel) {
60+
static X86_64RelType getType64(MCFixupKind Kind, X86::Specifier &Specifier,
61+
bool &IsPCRel) {
6262
switch (unsigned(Kind)) {
6363
default:
6464
llvm_unreachable("Unimplemented");
@@ -68,11 +68,11 @@ static X86_64RelType getType64(MCFixupKind Kind,
6868
return RT64_64;
6969
case X86::reloc_signed_4byte:
7070
case X86::reloc_signed_4byte_relax:
71-
if (Specifier == X86MCExpr::VK_None && !IsPCRel)
71+
if (Specifier == X86::S_None && !IsPCRel)
7272
return RT64_32S;
7373
return RT64_32;
7474
case X86::reloc_global_offset_table:
75-
Specifier = X86MCExpr::VK_GOT;
75+
Specifier = X86::S_GOT;
7676
IsPCRel = true;
7777
return RT64_32;
7878
case FK_Data_4:
@@ -86,7 +86,7 @@ static X86_64RelType getType64(MCFixupKind Kind,
8686
case X86::reloc_riprel_4byte_relax_evex:
8787
return RT64_32;
8888
case X86::reloc_branch_4byte_pcrel:
89-
Specifier = X86MCExpr::VK_PLT;
89+
Specifier = X86::S_PLT;
9090
return RT64_32;
9191
case FK_PCRel_2:
9292
case FK_Data_2:
@@ -107,18 +107,17 @@ void X86ELFObjectWriter::checkIs64(SMLoc Loc, X86_64RelType Type) const {
107107
reportError(Loc, "64 bit reloc applied to a field with a different size");
108108
}
109109

110-
unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
111-
X86MCExpr::Specifier Specifier,
110+
unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc, X86::Specifier Specifier,
112111
X86_64RelType Type, bool IsPCRel,
113112
MCFixupKind Kind) const {
114113
switch (Specifier) {
115114
default:
116115
llvm_unreachable("Unimplemented");
117-
case X86MCExpr::VK_None:
118-
case X86MCExpr::VK_ABS8:
116+
case X86::S_None:
117+
case X86::S_ABS8:
119118
switch (Type) {
120119
case RT64_NONE:
121-
if (Specifier == X86MCExpr::VK_None)
120+
if (Specifier == X86::S_None)
122121
return ELF::R_X86_64_NONE;
123122
llvm_unreachable("Unimplemented");
124123
case RT64_64:
@@ -133,7 +132,7 @@ unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
133132
return IsPCRel ? ELF::R_X86_64_PC8 : ELF::R_X86_64_8;
134133
}
135134
llvm_unreachable("unexpected relocation type!");
136-
case X86MCExpr::VK_GOT:
135+
case X86::S_GOT:
137136
switch (Type) {
138137
case RT64_64:
139138
return IsPCRel ? ELF::R_X86_64_GOTPC64 : ELF::R_X86_64_GOT64;
@@ -146,12 +145,12 @@ unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
146145
llvm_unreachable("Unimplemented");
147146
}
148147
llvm_unreachable("unexpected relocation type!");
149-
case X86MCExpr::VK_GOTOFF:
148+
case X86::S_GOTOFF:
150149
assert(!IsPCRel);
151150
if (Type != RT64_64)
152151
reportError(Loc, "unsupported relocation type");
153152
return ELF::R_X86_64_GOTOFF64;
154-
case X86MCExpr::VK_TPOFF:
153+
case X86::S_TPOFF:
155154
assert(!IsPCRel);
156155
switch (Type) {
157156
case RT64_64:
@@ -165,7 +164,7 @@ unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
165164
llvm_unreachable("Unimplemented");
166165
}
167166
llvm_unreachable("unexpected relocation type!");
168-
case X86MCExpr::VK_DTPOFF:
167+
case X86::S_DTPOFF:
169168
assert(!IsPCRel);
170169
switch (Type) {
171170
case RT64_64:
@@ -179,7 +178,7 @@ unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
179178
llvm_unreachable("Unimplemented");
180179
}
181180
llvm_unreachable("unexpected relocation type!");
182-
case X86MCExpr::VK_SIZE:
181+
case X86::S_SIZE:
183182
assert(!IsPCRel);
184183
switch (Type) {
185184
case RT64_64:
@@ -193,30 +192,30 @@ unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
193192
llvm_unreachable("Unimplemented");
194193
}
195194
llvm_unreachable("unexpected relocation type!");
196-
case X86MCExpr::VK_TLSCALL:
195+
case X86::S_TLSCALL:
197196
return ELF::R_X86_64_TLSDESC_CALL;
198-
case X86MCExpr::VK_TLSDESC:
197+
case X86::S_TLSDESC:
199198
return ((unsigned)Kind == X86::reloc_riprel_4byte_relax_rex2)
200199
? ELF::R_X86_64_CODE_4_GOTPC32_TLSDESC
201200
: ELF::R_X86_64_GOTPC32_TLSDESC;
202-
case X86MCExpr::VK_TLSGD:
201+
case X86::S_TLSGD:
203202
checkIs32(Loc, Type);
204203
return ELF::R_X86_64_TLSGD;
205-
case X86MCExpr::VK_GOTTPOFF:
204+
case X86::S_GOTTPOFF:
206205
checkIs32(Loc, Type);
207206
if ((unsigned)Kind == X86::reloc_riprel_4byte_movq_load_rex2 ||
208207
(unsigned)Kind == X86::reloc_riprel_4byte_relax_rex2)
209208
return ELF::R_X86_64_CODE_4_GOTTPOFF;
210209
else if ((unsigned)Kind == X86::reloc_riprel_4byte_relax_evex)
211210
return ELF::R_X86_64_CODE_6_GOTTPOFF;
212211
return ELF::R_X86_64_GOTTPOFF;
213-
case X86MCExpr::VK_TLSLD:
212+
case X86::S_TLSLD:
214213
checkIs32(Loc, Type);
215214
return ELF::R_X86_64_TLSLD;
216-
case X86MCExpr::VK_PLT:
215+
case X86::S_PLT:
217216
checkIs32(Loc, Type);
218217
return ELF::R_X86_64_PLT32;
219-
case X86MCExpr::VK_GOTPCREL:
218+
case X86::S_GOTPCREL:
220219
checkIs32(Loc, Type);
221220
// Older versions of ld.bfd/ld.gold/lld
222221
// do not support GOTPCRELX/REX_GOTPCRELX/CODE_4_GOTPCRELX,
@@ -236,27 +235,26 @@ unsigned X86ELFObjectWriter::getRelocType64(SMLoc Loc,
236235
return ELF::R_X86_64_CODE_4_GOTPCRELX;
237236
}
238237
llvm_unreachable("unexpected relocation type!");
239-
case X86MCExpr::VK_GOTPCREL_NORELAX:
238+
case X86::S_GOTPCREL_NORELAX:
240239
checkIs32(Loc, Type);
241240
return ELF::R_X86_64_GOTPCREL;
242-
case X86MCExpr::VK_PLTOFF:
241+
case X86::S_PLTOFF:
243242
checkIs64(Loc, Type);
244243
return ELF::R_X86_64_PLTOFF64;
245244
}
246245
}
247246

248-
unsigned X86ELFObjectWriter::getRelocType32(SMLoc Loc,
249-
X86MCExpr::Specifier Specifier,
247+
unsigned X86ELFObjectWriter::getRelocType32(SMLoc Loc, X86::Specifier Specifier,
250248
X86_32RelType Type, bool IsPCRel,
251249
MCFixupKind Kind) const {
252250
switch (Specifier) {
253251
default:
254252
llvm_unreachable("Unimplemented");
255-
case X86MCExpr::VK_None:
256-
case X86MCExpr::VK_ABS8:
253+
case X86::S_None:
254+
case X86::S_ABS8:
257255
switch (Type) {
258256
case RT32_NONE:
259-
if (Specifier == X86MCExpr::VK_None)
257+
if (Specifier == X86::S_None)
260258
return ELF::R_386_NONE;
261259
llvm_unreachable("Unimplemented");
262260
case RT32_32:
@@ -267,7 +265,7 @@ unsigned X86ELFObjectWriter::getRelocType32(SMLoc Loc,
267265
return IsPCRel ? ELF::R_386_PC8 : ELF::R_386_8;
268266
}
269267
llvm_unreachable("unexpected relocation type!");
270-
case X86MCExpr::VK_GOT:
268+
case X86::S_GOT:
271269
if (Type != RT32_32)
272270
break;
273271
if (IsPCRel)
@@ -280,55 +278,55 @@ unsigned X86ELFObjectWriter::getRelocType32(SMLoc Loc,
280278
return Kind == MCFixupKind(X86::reloc_signed_4byte_relax)
281279
? ELF::R_386_GOT32X
282280
: ELF::R_386_GOT32;
283-
case X86MCExpr::VK_GOTOFF:
281+
case X86::S_GOTOFF:
284282
assert(!IsPCRel);
285283
if (Type != RT32_32)
286284
break;
287285
return ELF::R_386_GOTOFF;
288-
case X86MCExpr::VK_TLSCALL:
286+
case X86::S_TLSCALL:
289287
return ELF::R_386_TLS_DESC_CALL;
290-
case X86MCExpr::VK_TLSDESC:
288+
case X86::S_TLSDESC:
291289
return ELF::R_386_TLS_GOTDESC;
292-
case X86MCExpr::VK_TPOFF:
290+
case X86::S_TPOFF:
293291
if (Type != RT32_32)
294292
break;
295293
assert(!IsPCRel);
296294
return ELF::R_386_TLS_LE_32;
297-
case X86MCExpr::VK_DTPOFF:
295+
case X86::S_DTPOFF:
298296
if (Type != RT32_32)
299297
break;
300298
assert(!IsPCRel);
301299
return ELF::R_386_TLS_LDO_32;
302-
case X86MCExpr::VK_TLSGD:
300+
case X86::S_TLSGD:
303301
if (Type != RT32_32)
304302
break;
305303
assert(!IsPCRel);
306304
return ELF::R_386_TLS_GD;
307-
case X86MCExpr::VK_GOTTPOFF:
305+
case X86::S_GOTTPOFF:
308306
if (Type != RT32_32)
309307
break;
310308
assert(!IsPCRel);
311309
return ELF::R_386_TLS_IE_32;
312-
case X86MCExpr::VK_PLT:
310+
case X86::S_PLT:
313311
if (Type != RT32_32)
314312
break;
315313
return ELF::R_386_PLT32;
316-
case X86MCExpr::VK_INDNTPOFF:
314+
case X86::S_INDNTPOFF:
317315
if (Type != RT32_32)
318316
break;
319317
assert(!IsPCRel);
320318
return ELF::R_386_TLS_IE;
321-
case X86MCExpr::VK_NTPOFF:
319+
case X86::S_NTPOFF:
322320
if (Type != RT32_32)
323321
break;
324322
assert(!IsPCRel);
325323
return ELF::R_386_TLS_LE;
326-
case X86MCExpr::VK_GOTNTPOFF:
324+
case X86::S_GOTNTPOFF:
327325
if (Type != RT32_32)
328326
break;
329327
assert(!IsPCRel);
330328
return ELF::R_386_TLS_GOTIE;
331-
case X86MCExpr::VK_TLSLDM:
329+
case X86::S_TLSLDM:
332330
if (Type != RT32_32)
333331
break;
334332
assert(!IsPCRel);
@@ -342,19 +340,19 @@ unsigned X86ELFObjectWriter::getRelocType(const MCFixup &Fixup,
342340
const MCValue &Target,
343341
bool IsPCRel) const {
344342
MCFixupKind Kind = Fixup.getKind();
345-
auto Specifier = X86MCExpr::Specifier(Target.getSpecifier());
343+
auto Specifier = X86::Specifier(Target.getSpecifier());
346344
switch (Specifier) {
347-
case X86MCExpr::VK_GOTTPOFF:
348-
case X86MCExpr::VK_INDNTPOFF:
349-
case X86MCExpr::VK_NTPOFF:
350-
case X86MCExpr::VK_GOTNTPOFF:
351-
case X86MCExpr::VK_TLSCALL:
352-
case X86MCExpr::VK_TLSDESC:
353-
case X86MCExpr::VK_TLSGD:
354-
case X86MCExpr::VK_TLSLD:
355-
case X86MCExpr::VK_TLSLDM:
356-
case X86MCExpr::VK_TPOFF:
357-
case X86MCExpr::VK_DTPOFF:
345+
case X86::S_GOTTPOFF:
346+
case X86::S_INDNTPOFF:
347+
case X86::S_NTPOFF:
348+
case X86::S_GOTNTPOFF:
349+
case X86::S_TLSCALL:
350+
case X86::S_TLSDESC:
351+
case X86::S_TLSGD:
352+
case X86::S_TLSLD:
353+
case X86::S_TLSLDM:
354+
case X86::S_TPOFF:
355+
case X86::S_DTPOFF:
358356
if (auto *S = Target.getAddSym())
359357
cast<MCSymbolELF>(S)->setType(ELF::STT_TLS);
360358
break;
@@ -393,10 +391,10 @@ unsigned X86ELFObjectWriter::getRelocType(const MCFixup &Fixup,
393391
bool X86ELFObjectWriter::needsRelocateWithSymbol(const MCValue &V,
394392
unsigned Type) const {
395393
switch (V.getSpecifier()) {
396-
case X86MCExpr::VK_GOT:
397-
case X86MCExpr::VK_PLT:
398-
case X86MCExpr::VK_GOTPCREL:
399-
case X86MCExpr::VK_GOTPCREL_NORELAX:
394+
case X86::S_GOT:
395+
case X86::S_PLT:
396+
case X86::S_GOTPCREL:
397+
case X86::S_GOTPCREL_NORELAX:
400398
return true;
401399
default:
402400
return false;

llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "X86EncodingOptimization.h"
14-
#include "MCTargetDesc/X86MCExpr.h"
14+
#include "MCTargetDesc/X86MCAsmInfo.h"
1515
#include "X86BaseInfo.h"
1616
#include "llvm/MC/MCExpr.h"
1717
#include "llvm/MC/MCInst.h"
@@ -375,7 +375,7 @@ bool X86::optimizeMOV(MCInst &MI, bool In64BitMode) {
375375
if (MI.getOperand(AddrOp).isExpr()) {
376376
const MCExpr *MCE = MI.getOperand(AddrOp).getExpr();
377377
if (const MCSymbolRefExpr *SRE = dyn_cast<MCSymbolRefExpr>(MCE))
378-
if (getSpecifier(SRE) == X86MCExpr::VK_TLVP)
378+
if (SRE->getSpecifier() == X86::S_TLVP)
379379
Absolute = false;
380380
}
381381
if (Absolute && (MI.getOperand(AddrBase + X86::AddrBaseReg).getReg() ||
@@ -486,7 +486,7 @@ static bool optimizeToShortImmediateForm(MCInst &MI) {
486486
MCOperand &LastOp = MI.getOperand(MI.getNumOperands() - 1 - SkipOperands);
487487
if (LastOp.isExpr()) {
488488
const MCSymbolRefExpr *SRE = dyn_cast<MCSymbolRefExpr>(LastOp.getExpr());
489-
if (!SRE || getSpecifier(SRE) != X86MCExpr::VK_ABS8)
489+
if (!SRE || SRE->getSpecifier() != X86::S_ABS8)
490490
return false;
491491
} else if (LastOp.isImm()) {
492492
if (!isInt<8>(LastOp.getImm()))

0 commit comments

Comments
 (0)