Skip to content

Commit 6d14414

Browse files
MaskRayakuhlens
authored andcommitted
VE: Rename VEMCExpr::VK_ to VE::S_
Prepare for removing VEMCExpr. Adopt the newer naming convention adopted by AMDGPU/WebAssembly.
1 parent 57a5c75 commit 6d14414

File tree

8 files changed

+127
-132
lines changed

8 files changed

+127
-132
lines changed

llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,7 +1042,7 @@ bool VEAsmParser::parseLiteralValues(unsigned Size, SMLoc L) {
10421042
const MCExpr *VEAsmParser::extractSpecifier(const MCExpr *E,
10431043
VEMCExpr::Specifier &Variant) {
10441044
MCContext &Context = getParser().getContext();
1045-
Variant = VEMCExpr::VK_None;
1045+
Variant = VE::S_None;
10461046

10471047
switch (E->getKind()) {
10481048
case MCExpr::Target:
@@ -1055,51 +1055,51 @@ const MCExpr *VEAsmParser::extractSpecifier(const MCExpr *E,
10551055
const MCSymbolRefExpr *SRE = cast<MCSymbolRefExpr>(E);
10561056

10571057
switch (SRE->getSpecifier()) {
1058-
case VEMCExpr::VK_None:
1058+
case VE::S_None:
10591059
// Use VK_REFLONG to a symbol without modifiers.
1060-
Variant = VEMCExpr::VK_REFLONG;
1060+
Variant = VE::S_REFLONG;
10611061
break;
1062-
case VEMCExpr::VK_HI32:
1063-
Variant = VEMCExpr::VK_HI32;
1062+
case VE::S_HI32:
1063+
Variant = VE::S_HI32;
10641064
break;
1065-
case VEMCExpr::VK_LO32:
1066-
Variant = VEMCExpr::VK_LO32;
1065+
case VE::S_LO32:
1066+
Variant = VE::S_LO32;
10671067
break;
1068-
case VEMCExpr::VK_PC_HI32:
1069-
Variant = VEMCExpr::VK_PC_HI32;
1068+
case VE::S_PC_HI32:
1069+
Variant = VE::S_PC_HI32;
10701070
break;
1071-
case VEMCExpr::VK_PC_LO32:
1072-
Variant = VEMCExpr::VK_PC_LO32;
1071+
case VE::S_PC_LO32:
1072+
Variant = VE::S_PC_LO32;
10731073
break;
1074-
case VEMCExpr::VK_GOT_HI32:
1075-
Variant = VEMCExpr::VK_GOT_HI32;
1074+
case VE::S_GOT_HI32:
1075+
Variant = VE::S_GOT_HI32;
10761076
break;
1077-
case VEMCExpr::VK_GOT_LO32:
1078-
Variant = VEMCExpr::VK_GOT_LO32;
1077+
case VE::S_GOT_LO32:
1078+
Variant = VE::S_GOT_LO32;
10791079
break;
1080-
case VEMCExpr::VK_GOTOFF_HI32:
1081-
Variant = VEMCExpr::VK_GOTOFF_HI32;
1080+
case VE::S_GOTOFF_HI32:
1081+
Variant = VE::S_GOTOFF_HI32;
10821082
break;
1083-
case VEMCExpr::VK_GOTOFF_LO32:
1084-
Variant = VEMCExpr::VK_GOTOFF_LO32;
1083+
case VE::S_GOTOFF_LO32:
1084+
Variant = VE::S_GOTOFF_LO32;
10851085
break;
1086-
case VEMCExpr::VK_PLT_HI32:
1087-
Variant = VEMCExpr::VK_PLT_HI32;
1086+
case VE::S_PLT_HI32:
1087+
Variant = VE::S_PLT_HI32;
10881088
break;
1089-
case VEMCExpr::VK_PLT_LO32:
1090-
Variant = VEMCExpr::VK_PLT_LO32;
1089+
case VE::S_PLT_LO32:
1090+
Variant = VE::S_PLT_LO32;
10911091
break;
1092-
case VEMCExpr::VK_TLS_GD_HI32:
1093-
Variant = VEMCExpr::VK_TLS_GD_HI32;
1092+
case VE::S_TLS_GD_HI32:
1093+
Variant = VE::S_TLS_GD_HI32;
10941094
break;
1095-
case VEMCExpr::VK_TLS_GD_LO32:
1096-
Variant = VEMCExpr::VK_TLS_GD_LO32;
1095+
case VE::S_TLS_GD_LO32:
1096+
Variant = VE::S_TLS_GD_LO32;
10971097
break;
1098-
case VEMCExpr::VK_TPOFF_HI32:
1099-
Variant = VEMCExpr::VK_TPOFF_HI32;
1098+
case VE::S_TPOFF_HI32:
1099+
Variant = VE::S_TPOFF_HI32;
11001100
break;
1101-
case VEMCExpr::VK_TPOFF_LO32:
1102-
Variant = VEMCExpr::VK_TPOFF_LO32;
1101+
case VE::S_TPOFF_LO32:
1102+
Variant = VE::S_TPOFF_LO32;
11031103
break;
11041104
default:
11051105
return nullptr;
@@ -1130,9 +1130,9 @@ const MCExpr *VEAsmParser::extractSpecifier(const MCExpr *E,
11301130
if (!RHS)
11311131
RHS = BE->getRHS();
11321132

1133-
if (LHSVariant == VEMCExpr::VK_None)
1133+
if (LHSVariant == VE::S_None)
11341134
Variant = RHSVariant;
1135-
else if (RHSVariant == VEMCExpr::VK_None)
1135+
else if (RHSVariant == VE::S_None)
11361136
Variant = LHSVariant;
11371137
else if (LHSVariant == RHSVariant)
11381138
Variant = LHSVariant;

llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ unsigned VEELFObjectWriter::getRelocType(const MCFixup &Fixup,
4040
const MCValue &Target,
4141
bool IsPCRel) const {
4242
switch (Target.getSpecifier()) {
43-
case VEMCExpr::VK_TLS_GD_HI32:
44-
case VEMCExpr::VK_TLS_GD_LO32:
45-
case VEMCExpr::VK_TPOFF_HI32:
46-
case VEMCExpr::VK_TPOFF_LO32:
43+
case VE::S_TLS_GD_HI32:
44+
case VE::S_TLS_GD_LO32:
45+
case VE::S_TPOFF_HI32:
46+
case VE::S_TPOFF_LO32:
4747
if (auto *SA = Target.getAddSym())
4848
cast<MCSymbolELF>(SA)->setType(ELF::STT_TLS);
4949
break;
5050
default:
5151
break;
5252
}
5353
if (const VEMCExpr *SExpr = dyn_cast<VEMCExpr>(Fixup.getValue())) {
54-
if (SExpr->getSpecifier() == VEMCExpr::VK_PC_LO32)
54+
if (SExpr->getSpecifier() == VE::S_PC_LO32)
5555
return ELF::R_VE_PC_LO32;
5656
}
5757

llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@
1919
using namespace llvm;
2020

2121
const MCAsmInfo::VariantKindDesc variantKindDescs[] = {
22-
{VEMCExpr::VK_HI32, "hi"},
23-
{VEMCExpr::VK_LO32, "lo"},
24-
{VEMCExpr::VK_PC_HI32, "pc_hi"},
25-
{VEMCExpr::VK_PC_LO32, "pc_lo"},
26-
{VEMCExpr::VK_GOT_HI32, "got_hi"},
27-
{VEMCExpr::VK_GOT_LO32, "got_lo"},
28-
{VEMCExpr::VK_GOTOFF_HI32, "gotoff_hi"},
29-
{VEMCExpr::VK_GOTOFF_LO32, "gotoff_lo"},
30-
{VEMCExpr::VK_PLT_HI32, "plt_hi"},
31-
{VEMCExpr::VK_PLT_LO32, "plt_lo"},
32-
{VEMCExpr::VK_TLS_GD_HI32, "tls_gd_hi"},
33-
{VEMCExpr::VK_TLS_GD_LO32, "tls_gd_lo"},
34-
{VEMCExpr::VK_TPOFF_HI32, "tpoff_hi"},
35-
{VEMCExpr::VK_TPOFF_LO32, "tpoff_lo"},
22+
{VE::S_HI32, "hi"},
23+
{VE::S_LO32, "lo"},
24+
{VE::S_PC_HI32, "pc_hi"},
25+
{VE::S_PC_LO32, "pc_lo"},
26+
{VE::S_GOT_HI32, "got_hi"},
27+
{VE::S_GOT_LO32, "got_lo"},
28+
{VE::S_GOTOFF_HI32, "gotoff_hi"},
29+
{VE::S_GOTOFF_LO32, "gotoff_lo"},
30+
{VE::S_PLT_HI32, "plt_hi"},
31+
{VE::S_PLT_LO32, "plt_lo"},
32+
{VE::S_TLS_GD_HI32, "tls_gd_hi"},
33+
{VE::S_TLS_GD_LO32, "tls_gd_lo"},
34+
{VE::S_TPOFF_HI32, "tpoff_hi"},
35+
{VE::S_TPOFF_LO32, "tpoff_lo"},
3636
};
3737

3838
void VEELFMCAsmInfo::anchor() {}
@@ -61,6 +61,6 @@ void VEELFMCAsmInfo::printSpecifierExpr(raw_ostream &OS,
6161
const MCSpecifierExpr &Expr) const {
6262
printExpr(OS, *Expr.getSubExpr());
6363
auto specifier = Expr.getSpecifier();
64-
if (specifier && specifier != VEMCExpr::VK_REFLONG)
64+
if (specifier && specifier != VE::S_REFLONG)
6565
OS << '@' << getSpecifierName(specifier);
6666
}

llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ unsigned VEMCCodeEmitter::getMachineOpValue(const MCInst &MI,
9999

100100
const MCExpr *Expr = MO.getExpr();
101101
if (const VEMCExpr *SExpr = dyn_cast<VEMCExpr>(Expr)) {
102-
auto Kind = VEMCExpr::getFixupKind(SExpr->getSpecifier());
102+
auto Kind = VE::getFixupKind(SExpr->getSpecifier());
103103
Fixups.push_back(MCFixup::create(0, Expr, Kind));
104104
return 0;
105105
}

llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,39 +27,39 @@ const VEMCExpr *VEMCExpr::create(Specifier S, const MCExpr *Expr,
2727
return new (Ctx) VEMCExpr(Expr, S);
2828
}
2929

30-
VE::Fixups VEMCExpr::getFixupKind(MCSpecifierExpr::Spec S) {
30+
VE::Fixups VE::getFixupKind(uint8_t S) {
3131
switch (S) {
3232
default:
3333
llvm_unreachable("Unhandled VEMCExpr::Specifier");
34-
case VK_REFLONG:
34+
case VE::S_REFLONG:
3535
return VE::fixup_ve_reflong;
36-
case VK_HI32:
36+
case VE::S_HI32:
3737
return VE::fixup_ve_hi32;
38-
case VK_LO32:
38+
case VE::S_LO32:
3939
return VE::fixup_ve_lo32;
40-
case VK_PC_HI32:
40+
case VE::S_PC_HI32:
4141
return VE::fixup_ve_pc_hi32;
42-
case VK_PC_LO32:
42+
case VE::S_PC_LO32:
4343
return VE::fixup_ve_pc_lo32;
44-
case VK_GOT_HI32:
44+
case VE::S_GOT_HI32:
4545
return VE::fixup_ve_got_hi32;
46-
case VK_GOT_LO32:
46+
case VE::S_GOT_LO32:
4747
return VE::fixup_ve_got_lo32;
48-
case VK_GOTOFF_HI32:
48+
case VE::S_GOTOFF_HI32:
4949
return VE::fixup_ve_gotoff_hi32;
50-
case VK_GOTOFF_LO32:
50+
case VE::S_GOTOFF_LO32:
5151
return VE::fixup_ve_gotoff_lo32;
52-
case VK_PLT_HI32:
52+
case VE::S_PLT_HI32:
5353
return VE::fixup_ve_plt_hi32;
54-
case VK_PLT_LO32:
54+
case VE::S_PLT_LO32:
5555
return VE::fixup_ve_plt_lo32;
56-
case VK_TLS_GD_HI32:
56+
case VE::S_TLS_GD_HI32:
5757
return VE::fixup_ve_tls_gd_hi32;
58-
case VK_TLS_GD_LO32:
58+
case VE::S_TLS_GD_LO32:
5959
return VE::fixup_ve_tls_gd_lo32;
60-
case VK_TPOFF_HI32:
60+
case VE::S_TPOFF_HI32:
6161
return VE::fixup_ve_tpoff_hi32;
62-
case VK_TPOFF_LO32:
62+
case VE::S_TPOFF_LO32:
6363
return VE::fixup_ve_tpoff_lo32;
6464
}
6565
}

llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,7 @@ namespace llvm {
2222
class StringRef;
2323
class VEMCExpr : public MCSpecifierExpr {
2424
public:
25-
enum Specifier {
26-
VK_None,
27-
28-
VK_REFLONG = MCSymbolRefExpr::FirstTargetSpecifier,
29-
VK_HI32, // @hi
30-
VK_LO32, // @lo
31-
VK_PC_HI32, // @pc_hi
32-
VK_PC_LO32, // @pc_lo
33-
VK_GOT_HI32, // @got_hi
34-
VK_GOT_LO32, // @got_lo
35-
VK_GOTOFF_HI32, // @gotoff_hi
36-
VK_GOTOFF_LO32, // @gotoff_lo
37-
VK_PLT_HI32, // @plt_hi
38-
VK_PLT_LO32, // @plt_lo
39-
VK_TLS_GD_HI32, // @tls_gd_hi
40-
VK_TLS_GD_LO32, // @tls_gd_lo
41-
VK_TPOFF_HI32, // @tpoff_hi
42-
VK_TPOFF_LO32, // @tpoff_lo
43-
};
25+
using Specifier = uint8_t;
4426

4527
private:
4628
explicit VEMCExpr(const MCExpr *Expr, Specifier S)
@@ -52,10 +34,32 @@ class VEMCExpr : public MCSpecifierExpr {
5234

5335
bool evaluateAsRelocatableImpl(MCValue &Res,
5436
const MCAssembler *Asm) const override;
37+
};
38+
39+
namespace VE {
40+
enum Specifier {
41+
S_None,
5542

56-
static VE::Fixups getFixupKind(Spec S);
43+
S_REFLONG = MCSymbolRefExpr::FirstTargetSpecifier,
44+
S_HI32, // @hi
45+
S_LO32, // @lo
46+
S_PC_HI32, // @pc_hi
47+
S_PC_LO32, // @pc_lo
48+
S_GOT_HI32, // @got_hi
49+
S_GOT_LO32, // @got_lo
50+
S_GOTOFF_HI32, // @gotoff_hi
51+
S_GOTOFF_LO32, // @gotoff_lo
52+
S_PLT_HI32, // @plt_hi
53+
S_PLT_LO32, // @plt_lo
54+
S_TLS_GD_HI32, // @tls_gd_hi
55+
S_TLS_GD_LO32, // @tls_gd_lo
56+
S_TPOFF_HI32, // @tpoff_hi
57+
S_TPOFF_LO32, // @tpoff_lo
5758
};
5859

60+
VE::Fixups getFixupKind(uint8_t S);
61+
} // namespace VE
62+
5963
} // namespace llvm
6064

6165
#endif

llvm/lib/Target/VE/VEAsmPrinter.cpp

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ void VEAsmPrinter::lowerGETGOTAndEmitMCInsts(const MachineInstr *MI,
194194
case CodeModel::Small:
195195
case CodeModel::Medium:
196196
case CodeModel::Large:
197-
emitHiLo(*OutStreamer, GOTLabel, VEMCExpr::VK_HI32, VEMCExpr::VK_LO32,
198-
MCRegOP, OutContext, STI);
197+
emitHiLo(*OutStreamer, GOTLabel, VE::S_HI32, VE::S_LO32, MCRegOP,
198+
OutContext, STI);
199199
break;
200200
}
201201
return;
@@ -209,14 +209,12 @@ void VEAsmPrinter::lowerGETGOTAndEmitMCInsts(const MachineInstr *MI,
209209
// sic %plt
210210
// lea.sl %got, _GLOBAL_OFFSET_TABLE_@PC_HI(%plt, %got)
211211
MCOperand cim24 = MCOperand::createImm(-24);
212-
MCOperand loImm =
213-
createGOTRelExprOp(VEMCExpr::VK_PC_LO32, GOTLabel, OutContext);
212+
MCOperand loImm = createGOTRelExprOp(VE::S_PC_LO32, GOTLabel, OutContext);
214213
emitLEAzii(*OutStreamer, cim24, loImm, MCRegOP, STI);
215214
MCOperand M032 = MCOperand::createImm(M0(32));
216215
emitANDrm(*OutStreamer, MCRegOP, M032, MCRegOP, STI);
217216
emitSIC(*OutStreamer, RegPLT, STI);
218-
MCOperand hiImm =
219-
createGOTRelExprOp(VEMCExpr::VK_PC_HI32, GOTLabel, OutContext);
217+
MCOperand hiImm = createGOTRelExprOp(VE::S_PC_HI32, GOTLabel, OutContext);
220218
emitLEASLrri(*OutStreamer, RegGOT, RegPLT, hiImm, MCRegOP, STI);
221219
}
222220

@@ -257,14 +255,12 @@ void VEAsmPrinter::lowerGETFunPLTAndEmitMCInsts(const MachineInstr *MI,
257255
// sic %plt ; FIXME: is it safe to use %plt here?
258256
// lea.sl %dst, func@plt_hi(%plt, %dst)
259257
MCOperand cim24 = MCOperand::createImm(-24);
260-
MCOperand loImm =
261-
createGOTRelExprOp(VEMCExpr::VK_PLT_LO32, AddrSym, OutContext);
258+
MCOperand loImm = createGOTRelExprOp(VE::S_PLT_LO32, AddrSym, OutContext);
262259
emitLEAzii(*OutStreamer, cim24, loImm, MCRegOP, STI);
263260
MCOperand M032 = MCOperand::createImm(M0(32));
264261
emitANDrm(*OutStreamer, MCRegOP, M032, MCRegOP, STI);
265262
emitSIC(*OutStreamer, RegPLT, STI);
266-
MCOperand hiImm =
267-
createGOTRelExprOp(VEMCExpr::VK_PLT_HI32, AddrSym, OutContext);
263+
MCOperand hiImm = createGOTRelExprOp(VE::S_PLT_HI32, AddrSym, OutContext);
268264
emitLEASLrri(*OutStreamer, MCRegOP, RegPLT, hiImm, MCRegOP, STI);
269265
}
270266

@@ -305,22 +301,20 @@ void VEAsmPrinter::lowerGETTLSAddrAndEmitMCInsts(const MachineInstr *MI,
305301
// lea.sl %s12, __tls_get_addr@plt_hi(%s12, %lr)
306302
// bsic %lr, (, %s12)
307303
MCOperand cim24 = MCOperand::createImm(-24);
308-
MCOperand loImm =
309-
createGOTRelExprOp(VEMCExpr::VK_TLS_GD_LO32, AddrSym, OutContext);
304+
MCOperand loImm = createGOTRelExprOp(VE::S_TLS_GD_LO32, AddrSym, OutContext);
310305
emitLEAzii(*OutStreamer, cim24, loImm, RegS0, STI);
311306
MCOperand M032 = MCOperand::createImm(M0(32));
312307
emitANDrm(*OutStreamer, RegS0, M032, RegS0, STI);
313308
emitSIC(*OutStreamer, RegLR, STI);
314-
MCOperand hiImm =
315-
createGOTRelExprOp(VEMCExpr::VK_TLS_GD_HI32, AddrSym, OutContext);
309+
MCOperand hiImm = createGOTRelExprOp(VE::S_TLS_GD_HI32, AddrSym, OutContext);
316310
emitLEASLrri(*OutStreamer, RegS0, RegLR, hiImm, RegS0, STI);
317311
MCOperand ci8 = MCOperand::createImm(8);
318312
MCOperand loImm2 =
319-
createGOTRelExprOp(VEMCExpr::VK_PLT_LO32, GetTLSLabel, OutContext);
313+
createGOTRelExprOp(VE::S_PLT_LO32, GetTLSLabel, OutContext);
320314
emitLEAzii(*OutStreamer, ci8, loImm2, RegS12, STI);
321315
emitANDrm(*OutStreamer, RegS12, M032, RegS12, STI);
322316
MCOperand hiImm2 =
323-
createGOTRelExprOp(VEMCExpr::VK_PLT_HI32, GetTLSLabel, OutContext);
317+
createGOTRelExprOp(VE::S_PLT_HI32, GetTLSLabel, OutContext);
324318
emitLEASLrri(*OutStreamer, RegS12, RegLR, hiImm2, RegS12, STI);
325319
emitBSIC(*OutStreamer, RegLR, RegS12, STI);
326320
}

0 commit comments

Comments
 (0)