Skip to content

Commit beab1a6

Browse files
committed
[CSKY] Migrate away from legacy MCSymbolRefExpr::VariantKind
1 parent 88601d9 commit beab1a6

File tree

6 files changed

+23
-25
lines changed

6 files changed

+23
-25
lines changed

llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -850,9 +850,9 @@ bool CSKYAsmParser::processLRW(MCInst &Inst, SMLoc IDLoc, MCStreamer &Out) {
850850
const MCExpr *AdjustExpr = nullptr;
851851
if (const CSKYMCExpr *CSKYExpr =
852852
dyn_cast<CSKYMCExpr>(Inst.getOperand(1).getExpr())) {
853-
if (CSKYExpr->getKind() == CSKYMCExpr::VK_TLSGD ||
854-
CSKYExpr->getKind() == CSKYMCExpr::VK_TLSIE ||
855-
CSKYExpr->getKind() == CSKYMCExpr::VK_TLSLDM) {
853+
if (CSKYExpr->getSpecifier() == CSKYMCExpr::VK_TLSGD ||
854+
CSKYExpr->getSpecifier() == CSKYMCExpr::VK_TLSIE ||
855+
CSKYExpr->getSpecifier() == CSKYMCExpr::VK_TLSLDM) {
856856
MCSymbol *Dot = getContext().createNamedTempSymbol();
857857
Out.emitLabel(Dot);
858858
AdjustExpr = MCSymbolRefExpr::create(Dot, getContext());

llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
3838
const MCExpr *Expr = Fixup.getValue();
3939
// Determine the type of the relocation
4040
unsigned Kind = Fixup.getTargetKind();
41-
MCSymbolRefExpr::VariantKind Modifier = Target.getAccessVariant();
41+
uint8_t Modifier = Target.getAccessVariant();
4242

4343
if (IsPCRel) {
4444
switch (Kind) {
@@ -79,7 +79,7 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
7979
return ELF::R_CKCORE_NONE;
8080
case FK_Data_4:
8181
if (Expr->getKind() == MCExpr::Target) {
82-
auto TK = cast<CSKYMCExpr>(Expr)->getKind();
82+
auto TK = cast<CSKYMCExpr>(Expr)->getSpecifier();
8383
if (TK == CSKYMCExpr::VK_ADDR)
8484
return ELF::R_CKCORE_ADDR32;
8585
if (TK == CSKYMCExpr::VK_GOT)
@@ -111,19 +111,19 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
111111
Ctx.reportError(Fixup.getLoc(),
112112
"invalid fixup for 4-byte data relocation");
113113
return ELF::R_CKCORE_NONE;
114-
case MCSymbolRefExpr::VK_GOT:
114+
case CSKYMCExpr::VK_GOT:
115115
return ELF::R_CKCORE_GOT32;
116-
case MCSymbolRefExpr::VK_GOTOFF:
116+
case CSKYMCExpr::VK_GOTOFF:
117117
return ELF::R_CKCORE_GOTOFF;
118-
case MCSymbolRefExpr::VK_PLT:
118+
case CSKYMCExpr::VK_PLT:
119119
return ELF::R_CKCORE_PLT32;
120-
case MCSymbolRefExpr::VK_TLSGD:
120+
case CSKYMCExpr::VK_TLSGD:
121121
return ELF::R_CKCORE_TLS_GD32;
122-
case MCSymbolRefExpr::VK_TLSLDM:
122+
case CSKYMCExpr::VK_TLSLDM:
123123
return ELF::R_CKCORE_TLS_LDM32;
124-
case MCSymbolRefExpr::VK_TPOFF:
124+
case CSKYMCExpr::VK_TPOFF:
125125
return ELF::R_CKCORE_TLS_LE32;
126-
case MCSymbolRefExpr::VK_None:
126+
case CSKYMCExpr::VK_None:
127127
return ELF::R_CKCORE_ADDR32;
128128
}
129129
}

llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCAsmInfo.cpp

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

1313
#include "CSKYMCAsmInfo.h"
14+
#include "MCTargetDesc/CSKYMCExpr.h"
1415
#include "llvm/BinaryFormat/Dwarf.h"
1516
#include "llvm/MC/MCExpr.h"
1617
#include "llvm/MC/MCStreamer.h"
1718

1819
using namespace llvm;
1920

2021
const MCAsmInfo::VariantKindDesc variantKindDescs[] = {
21-
{MCSymbolRefExpr::VK_GOT, "GOT"},
22-
{MCSymbolRefExpr::VK_GOTOFF, "GOTOFF"},
23-
{MCSymbolRefExpr::VK_PLT, "PLT"},
24-
{MCSymbolRefExpr::VK_TLSGD, "TLSGD"},
25-
{MCSymbolRefExpr::VK_TLSLD, "TLSLD"},
26-
{MCSymbolRefExpr::VK_TLSLDM, "TLSLDM"},
27-
{MCSymbolRefExpr::VK_TPOFF, "TPOFF"},
22+
{CSKYMCExpr::VK_GOT, "GOT"}, {CSKYMCExpr::VK_GOTOFF, "GOTOFF"},
23+
{CSKYMCExpr::VK_PLT, "PLT"}, {CSKYMCExpr::VK_TLSGD, "TLSGD"},
24+
{CSKYMCExpr::VK_TLSLDM, "TLSLDM"}, {CSKYMCExpr::VK_TPOFF, "TPOFF"},
2825
};
2926

3027
void CSKYMCAsmInfo::anchor() {}

llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ void CSKYMCExpr::visitUsedExpr(MCStreamer &Streamer) const {
6464

6565
void CSKYMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
6666
Expr->print(OS, MAI);
67-
OS << getVariantKindName(getKind());
67+
OS << getVariantKindName(getSpecifier());
6868
}
6969

7070
static void fixELFSymbolsInTLSFixupsImpl(const MCExpr *Expr, MCAssembler &Asm) {
@@ -97,7 +97,7 @@ static void fixELFSymbolsInTLSFixupsImpl(const MCExpr *Expr, MCAssembler &Asm) {
9797
}
9898

9999
void CSKYMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const {
100-
switch (getKind()) {
100+
switch (getSpecifier()) {
101101
default:
102102
return;
103103
case VK_TLSLE:
@@ -116,7 +116,7 @@ bool CSKYMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
116116

117117
// Some custom fixup types are not valid with symbol difference expressions
118118
if (Res.getSymA() && Res.getSymB()) {
119-
switch (getKind()) {
119+
switch (getSpecifier()) {
120120
default:
121121
return true;
122122
case VK_GOT:

llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class CSKYMCExpr : public MCTargetExpr {
3333
VK_TLSGD,
3434
VK_TLSLDO,
3535
VK_TLSLDM,
36+
VK_TPOFF,
3637
VK_Invalid
3738
};
3839

@@ -48,7 +49,7 @@ class CSKYMCExpr : public MCTargetExpr {
4849
MCContext &Ctx);
4950

5051
// Returns the kind of this expression.
51-
Specifier getKind() const { return specifier; }
52+
Specifier getSpecifier() const { return specifier; }
5253

5354
// Returns the child of this expression.
5455
const MCExpr *getSubExpr() const { return Expr; }

llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const MCExpr *CSKYConstantPool::addEntry(MCStreamer &Streamer,
6161

6262
Value = MCBinaryExpr::createSub(AdjustExpr, SymRef, Context);
6363
Value = MCBinaryExpr::createSub(CSKYExpr->getSubExpr(), Value, Context);
64-
Value = CSKYMCExpr::create(Value, CSKYExpr->getKind(), Context);
64+
Value = CSKYMCExpr::create(Value, CSKYExpr->getSpecifier(), Context);
6565
}
6666

6767
Entries.push_back(ConstantPoolEntry(CPEntryLabel, Value, Size, Loc));
@@ -91,7 +91,7 @@ CSKYTargetStreamer::addConstantPoolEntry(const MCExpr *Expr, SMLoc Loc,
9191

9292
if (const CSKYMCExpr *CE = dyn_cast<CSKYMCExpr>(Expr)) {
9393
Expr = CE->getSubExpr();
94-
ELFRefKind = CE->getKind();
94+
ELFRefKind = CE->getSpecifier();
9595
}
9696

9797
if (const MCSymbolRefExpr *SymExpr = dyn_cast<MCSymbolRefExpr>(Expr)) {

0 commit comments

Comments
 (0)