aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp57
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp10
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp6
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp8
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp16
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp8
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h20
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp8
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h2
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp12
-rw-r--r--llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp88
-rw-r--r--llvm/lib/Target/PowerPC/PPCMCInstLower.cpp2
12 files changed, 117 insertions, 120 deletions
diff --git a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
index e623b6c..28abe1a 100644
--- a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
+++ b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
@@ -109,8 +109,8 @@ class PPCAsmParser : public MCTargetAsmParser {
ParseStatus tryParseRegister(MCRegister &Reg, SMLoc &StartLoc,
SMLoc &EndLoc) override;
- const MCExpr *extractModifierFromExpr(const MCExpr *E,
- PPCMCExpr::VariantKind &Variant);
+ const MCExpr *extractSpecifier(const MCExpr *E,
+ PPCMCExpr::Specifier &Variant);
bool parseExpression(const MCExpr *&EVal);
bool parseOperand(OperandVector &Operands);
@@ -745,8 +745,8 @@ public:
return CreateImm(CE->getValue(), S, E, IsPPC64);
if (const MCSymbolRefExpr *SRE = dyn_cast<MCSymbolRefExpr>(Val))
- if (getVariantKind(SRE) == PPCMCExpr::VK_TLS ||
- getVariantKind(SRE) == PPCMCExpr::VK_TLS_PCREL)
+ if (getSpecifier(SRE) == PPCMCExpr::VK_TLS ||
+ getSpecifier(SRE) == PPCMCExpr::VK_TLS_PCREL)
return CreateTLSReg(SRE, S, E, IsPPC64);
if (const PPCMCExpr *TE = dyn_cast<PPCMCExpr>(Val)) {
@@ -1364,15 +1364,14 @@ ParseStatus PPCAsmParser::tryParseRegister(MCRegister &Reg, SMLoc &StartLoc,
return ParseStatus::Success;
}
-/// Extract \code @l/@ha \endcode modifier from expression. Recursively scan
+/// Extract \code @l/@ha \endcode specifier from expression. Recursively scan
/// the expression and check for VK_LO/HI/HA
-/// symbol variants. If all symbols with modifier use the same
-/// variant, return the corresponding PPCMCExpr::VariantKind,
+/// symbol variants. If all symbols with specifier use the same
+/// specifier, return the corresponding PPCMCExpr::Specifier,
/// and a modified expression using the default symbol variant.
/// Otherwise, return NULL.
-const MCExpr *
-PPCAsmParser::extractModifierFromExpr(const MCExpr *E,
- PPCMCExpr::VariantKind &Variant) {
+const MCExpr *PPCAsmParser::extractSpecifier(const MCExpr *E,
+ PPCMCExpr::Specifier &Variant) {
MCContext &Context = getParser().getContext();
Variant = PPCMCExpr::VK_None;
@@ -1383,7 +1382,7 @@ PPCAsmParser::extractModifierFromExpr(const MCExpr *E,
case MCExpr::SymbolRef: {
const MCSymbolRefExpr *SRE = cast<MCSymbolRefExpr>(E);
- Variant = (PPCMCExpr::VariantKind)SRE->getKind();
+ Variant = (PPCMCExpr::Specifier)SRE->getKind();
switch (Variant) {
case PPCMCExpr::VK_LO:
Variant = PPCMCExpr::VK_LO;
@@ -1421,7 +1420,7 @@ PPCAsmParser::extractModifierFromExpr(const MCExpr *E,
case MCExpr::Unary: {
const MCUnaryExpr *UE = cast<MCUnaryExpr>(E);
- const MCExpr *Sub = extractModifierFromExpr(UE->getSubExpr(), Variant);
+ const MCExpr *Sub = extractSpecifier(UE->getSubExpr(), Variant);
if (!Sub)
return nullptr;
return MCUnaryExpr::create(UE->getOpcode(), Sub, Context);
@@ -1429,9 +1428,9 @@ PPCAsmParser::extractModifierFromExpr(const MCExpr *E,
case MCExpr::Binary: {
const MCBinaryExpr *BE = cast<MCBinaryExpr>(E);
- PPCMCExpr::VariantKind LHSVariant, RHSVariant;
- const MCExpr *LHS = extractModifierFromExpr(BE->getLHS(), LHSVariant);
- const MCExpr *RHS = extractModifierFromExpr(BE->getRHS(), RHSVariant);
+ PPCMCExpr::Specifier LHSVariant, RHSVariant;
+ const MCExpr *LHS = extractSpecifier(BE->getLHS(), LHSVariant);
+ const MCExpr *RHS = extractSpecifier(BE->getRHS(), RHSVariant);
if (!LHS && !RHS)
return nullptr;
@@ -1463,10 +1462,10 @@ bool PPCAsmParser::parseExpression(const MCExpr *&EVal) {
if (getParser().parseExpression(EVal))
return true;
- PPCMCExpr::VariantKind Variant;
- const MCExpr *E = extractModifierFromExpr(EVal, Variant);
+ PPCMCExpr::Specifier Spec;
+ const MCExpr *E = extractSpecifier(EVal, Spec);
if (E)
- EVal = PPCMCExpr::create(Variant, E, getParser().getContext());
+ EVal = PPCMCExpr::create(Spec, E, getParser().getContext());
return false;
}
@@ -1854,21 +1853,21 @@ PPCAsmParser::applyModifierToExpr(const MCExpr *E,
MCSymbolRefExpr::VariantKind Variant,
MCContext &Ctx) {
if (isa<MCConstantExpr>(E)) {
- switch (PPCMCExpr::VariantKind(Variant)) {
- case PPCMCExpr::VariantKind::VK_LO:
- case PPCMCExpr::VariantKind::VK_HI:
- case PPCMCExpr::VariantKind::VK_HA:
- case PPCMCExpr::VariantKind::VK_HIGH:
- case PPCMCExpr::VariantKind::VK_HIGHA:
- case PPCMCExpr::VariantKind::VK_HIGHER:
- case PPCMCExpr::VariantKind::VK_HIGHERA:
- case PPCMCExpr::VariantKind::VK_HIGHEST:
- case PPCMCExpr::VariantKind::VK_HIGHESTA:
+ switch (PPCMCExpr::Specifier(Variant)) {
+ case PPCMCExpr::VK_LO:
+ case PPCMCExpr::VK_HI:
+ case PPCMCExpr::VK_HA:
+ case PPCMCExpr::VK_HIGH:
+ case PPCMCExpr::VK_HIGHA:
+ case PPCMCExpr::VK_HIGHER:
+ case PPCMCExpr::VK_HIGHERA:
+ case PPCMCExpr::VK_HIGHEST:
+ case PPCMCExpr::VK_HIGHESTA:
break;
default:
return nullptr;
}
}
- return PPCMCExpr::create(PPCMCExpr::VariantKind(Variant), E, Ctx);
+ return PPCMCExpr::create(PPCMCExpr::Specifier(Variant), E, Ctx);
}
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
index 80cf4a5..ddc5a52 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
@@ -38,12 +38,12 @@ PPCELFObjectWriter::PPCELFObjectWriter(bool Is64Bit, uint8_t OSABI)
Is64Bit ? ELF::EM_PPC64 : ELF::EM_PPC,
/*HasRelocationAddend*/ true) {}
-static PPCMCExpr::VariantKind getAccessVariant(const MCValue &Target,
- const MCFixup &Fixup) {
+static PPCMCExpr::Specifier getAccessVariant(const MCValue &Target,
+ const MCFixup &Fixup) {
const MCExpr *Expr = Fixup.getValue();
if (Expr->getKind() != MCExpr::Target)
- return PPCMCExpr::VariantKind(Target.getAccessVariant());
+ return PPCMCExpr::Specifier(Target.getAccessVariant());
return cast<PPCMCExpr>(Expr)->getKind();
}
@@ -53,10 +53,10 @@ unsigned PPCELFObjectWriter::getRelocType(MCContext &Ctx, const MCValue &Target,
MCFixupKind Kind = Fixup.getKind();
if (Kind >= FirstLiteralRelocationKind)
return Kind - FirstLiteralRelocationKind;
- auto RefKind = static_cast<PPCMCExpr::VariantKind>(Target.getRefKind());
+ auto RefKind = static_cast<PPCMCExpr::Specifier>(Target.getRefKind());
auto Modifier = getAccessVariant(Target, Fixup);
- switch (PPCMCExpr::VariantKind(Modifier)) {
+ switch (PPCMCExpr::Specifier(Modifier)) {
case PPCMCExpr::VK_DTPMOD:
case PPCMCExpr::VK_DTPREL:
case PPCMCExpr::VK_DTPREL_HA:
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
index 39f509c..501ef46 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
@@ -139,7 +139,7 @@ void PPCELFStreamer::emitGOTToPCRelReloc(const MCInst &Inst) {
// Cast the last operand to MCSymbolRefExpr to get the symbol.
const MCExpr *Expr = Operand.getExpr();
const MCSymbolRefExpr *SymExpr = static_cast<const MCSymbolRefExpr *>(Expr);
- assert(getVariantKind(SymExpr) == PPCMCExpr::VK_PCREL_OPT &&
+ assert(getSpecifier(SymExpr) == PPCMCExpr::VK_PCREL_OPT &&
"Expecting a symbol of type VK_PCREL_OPT");
MCSymbol *LabelSym =
getContext().getOrCreateSymbol(SymExpr->getSymbol().getName());
@@ -174,7 +174,7 @@ void PPCELFStreamer::emitGOTToPCRelLabel(const MCInst &Inst) {
// Cast the last operand to MCSymbolRefExpr to get the symbol.
const MCExpr *Expr = Operand.getExpr();
const MCSymbolRefExpr *SymExpr = static_cast<const MCSymbolRefExpr *>(Expr);
- assert(getVariantKind(SymExpr) == PPCMCExpr::VK_PCREL_OPT &&
+ assert(getSpecifier(SymExpr) == PPCMCExpr::VK_PCREL_OPT &&
"Expecting a symbol of type VK_PCREL_OPT");
MCSymbol *LabelSym =
getContext().getOrCreateSymbol(SymExpr->getSymbol().getName());
@@ -212,7 +212,7 @@ std::optional<bool> llvm::isPartOfGOTToPCRelPair(const MCInst &Inst,
// Check for the variant kind VK_PCREL_OPT in this expression.
const MCExpr *Expr = Operand.getExpr();
const MCSymbolRefExpr *SymExpr = static_cast<const MCSymbolRefExpr *>(Expr);
- if (!SymExpr || getVariantKind(SymExpr) != PPCMCExpr::VK_PCREL_OPT)
+ if (!SymExpr || getSpecifier(SymExpr) != PPCMCExpr::VK_PCREL_OPT)
return std::nullopt;
return (Inst.getOpcode() == PPC::PLDpc);
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
index 8445c1e..55b4276 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
@@ -92,7 +92,7 @@ void PPCInstPrinter::printInst(const MCInst *MI, uint64_t Address,
const MCSymbolRefExpr *SymExpr =
static_cast<const MCSymbolRefExpr *>(Expr);
- if (SymExpr && getVariantKind(SymExpr) == PPCMCExpr::VK_PCREL_OPT) {
+ if (SymExpr && getSpecifier(SymExpr) == PPCMCExpr::VK_PCREL_OPT) {
const MCSymbol &Symbol = SymExpr->getSymbol();
if (MI->getOpcode() == PPC::PLDpc) {
printInstruction(MI, Address, STI, O);
@@ -580,13 +580,13 @@ void PPCInstPrinter::printTLSCall(const MCInst *MI, unsigned OpNo,
// because we do not want the assembly to print out the @notoc at the
// end like __tls_get_addr(x@tlsgd)@notoc. Instead we want it to look
// like __tls_get_addr@notoc(x@tlsgd).
- if (getVariantKind(RefExp) == PPCMCExpr::VK_NOTOC)
+ if (getSpecifier(RefExp) == PPCMCExpr::VK_NOTOC)
O << '@' << MAI.getVariantKindName(RefExp->getKind());
O << '(';
printOperand(MI, OpNo + 1, STI, O);
O << ')';
- if (getVariantKind(RefExp) != PPCMCExpr::VK_None &&
- getVariantKind(RefExp) != PPCMCExpr::VK_NOTOC)
+ if (getSpecifier(RefExp) != PPCMCExpr::VK_None &&
+ getSpecifier(RefExp) != PPCMCExpr::VK_NOTOC)
O << '@' << MAI.getVariantKindName(RefExp->getKind());
if (Rhs) {
SmallString<0> Buf;
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
index d8ca2e3..ef067f7 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
@@ -329,11 +329,11 @@ PPCMCCodeEmitter::getDispRI34PCRelEncoding(const MCInst &MI, unsigned OpNo,
const MCSymbolRefExpr *SRE = cast<MCSymbolRefExpr>(Expr);
(void)SRE;
// Currently these are the only valid PCRelative Relocations.
- assert((getVariantKind(SRE) == PPCMCExpr::VK_PCREL ||
- getVariantKind(SRE) == PPCMCExpr::VK_GOT_PCREL ||
- getVariantKind(SRE) == PPCMCExpr::VK_GOT_TLSGD_PCREL ||
- getVariantKind(SRE) == PPCMCExpr::VK_GOT_TLSLD_PCREL ||
- getVariantKind(SRE) == PPCMCExpr::VK_GOT_TPREL_PCREL) &&
+ assert((getSpecifier(SRE) == PPCMCExpr::VK_PCREL ||
+ getSpecifier(SRE) == PPCMCExpr::VK_GOT_PCREL ||
+ getSpecifier(SRE) == PPCMCExpr::VK_GOT_TLSGD_PCREL ||
+ getSpecifier(SRE) == PPCMCExpr::VK_GOT_TLSLD_PCREL ||
+ getSpecifier(SRE) == PPCMCExpr::VK_GOT_TPREL_PCREL) &&
"VariantKind must be VK_PCREL or VK_GOT_PCREL or "
"VK_GOT_TLSGD_PCREL or VK_GOT_TLSLD_PCREL or "
"VK_GOT_TPREL_PCREL.");
@@ -368,8 +368,8 @@ PPCMCCodeEmitter::getDispRI34PCRelEncoding(const MCInst &MI, unsigned OpNo,
"Value must fit in 34 bits.");
// Currently these are the only valid PCRelative Relocations.
- assert((getVariantKind(SRE) == PPCMCExpr::VK_PCREL ||
- getVariantKind(SRE) == PPCMCExpr::VK_GOT_PCREL) &&
+ assert((getSpecifier(SRE) == PPCMCExpr::VK_PCREL ||
+ getSpecifier(SRE) == PPCMCExpr::VK_GOT_PCREL) &&
"VariantKind must be VK_PCREL or VK_GOT_PCREL");
// Generate the fixup for the relocation.
Fixups.push_back(
@@ -433,7 +433,7 @@ unsigned PPCMCCodeEmitter::getTLSRegEncoding(const MCInst &MI, unsigned OpNo,
// if using PC relative memops.
const MCExpr *Expr = MO.getExpr();
const MCSymbolRefExpr *SRE = cast<MCSymbolRefExpr>(Expr);
- bool IsPCRel = getVariantKind(SRE) == PPCMCExpr::VK_TLS_PCREL;
+ bool IsPCRel = getSpecifier(SRE) == PPCMCExpr::VK_TLS_PCREL;
Fixups.push_back(MCFixup::create(IsPCRel ? 1 : 0, Expr,
(MCFixupKind)PPC::fixup_ppc_nofixup));
const Triple &TT = STI.getTargetTriple();
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
index c30285d..8b82bf1 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
@@ -20,14 +20,14 @@ using namespace llvm;
#define DEBUG_TYPE "ppcmcexpr"
-const PPCMCExpr *PPCMCExpr::create(VariantKind Kind, const MCExpr *Expr,
+const PPCMCExpr *PPCMCExpr::create(Specifier S, const MCExpr *Expr,
MCContext &Ctx) {
- return new (Ctx) PPCMCExpr(Kind, Expr);
+ return new (Ctx) PPCMCExpr(S, Expr);
}
void PPCMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
getSubExpr()->print(OS, MAI);
- OS << '@' << MAI->getVariantKindName(Kind);
+ OS << '@' << MAI->getVariantKindName(specifier);
}
bool
@@ -47,7 +47,7 @@ PPCMCExpr::evaluateAsConstant(int64_t &Res) const {
}
std::optional<int64_t> PPCMCExpr::evaluateAsInt64(int64_t Value) const {
- switch (Kind) {
+ switch (specifier) {
case VK_LO:
return Value & 0xffff;
case VK_HI:
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
index 2c1b706..2288280 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
@@ -17,11 +17,11 @@ namespace llvm {
class PPCMCExpr : public MCTargetExpr {
public:
- enum VariantKind {
+ enum Specifier {
VK_None,
// We currently use both MCSymbolRefExpr::VariantKind and
- // PPCMCExpr::VariantKind. Start at a larger number to avoid conflicts.
+ // PPCMCExpr::Specifier. Start at a larger number to avoid conflicts.
VK_LO = 200,
VK_HI,
VK_HA,
@@ -102,19 +102,19 @@ public:
};
private:
- const VariantKind Kind;
+ const Specifier specifier;
const MCExpr *Expr;
std::optional<int64_t> evaluateAsInt64(int64_t Value) const;
- explicit PPCMCExpr(VariantKind Kind, const MCExpr *Expr)
- : Kind(Kind), Expr(Expr) {}
+ explicit PPCMCExpr(Specifier S, const MCExpr *Expr)
+ : specifier(S), Expr(Expr) {}
public:
/// @name Construction
/// @{
- static const PPCMCExpr *create(VariantKind Kind, const MCExpr *Expr,
+ static const PPCMCExpr *create(Specifier S, const MCExpr *Expr,
MCContext &Ctx);
static const PPCMCExpr *createLo(const MCExpr *Expr, MCContext &Ctx) {
@@ -133,8 +133,7 @@ public:
/// @name Accessors
/// @{
- /// getOpcode - Get the kind of this expression.
- VariantKind getKind() const { return Kind; }
+ Specifier getKind() const { return specifier; }
/// getSubExpr - Get the child of this expression.
const MCExpr *getSubExpr() const { return Expr; }
@@ -156,9 +155,8 @@ public:
}
};
-static inline PPCMCExpr::VariantKind
-getVariantKind(const MCSymbolRefExpr *SRE) {
- return PPCMCExpr::VariantKind(SRE->getKind());
+static inline PPCMCExpr::Specifier getSpecifier(const MCSymbolRefExpr *SRE) {
+ return PPCMCExpr::Specifier(SRE->getKind());
}
} // end namespace llvm
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
index 1d4e895..a51d656 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
@@ -209,7 +209,7 @@ public:
PPCTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS)
: PPCTargetStreamer(S), OS(OS) {}
- void emitTCEntry(const MCSymbol &S, PPCMCExpr::VariantKind Kind) override {
+ void emitTCEntry(const MCSymbol &S, PPCMCExpr::Specifier Kind) override {
if (const MCSymbolXCOFF *XSym = dyn_cast<MCSymbolXCOFF>(&S)) {
MCSymbolXCOFF *TCSym =
cast<MCSectionXCOFF>(Streamer.getCurrentSectionOnly())
@@ -268,7 +268,7 @@ public:
return static_cast<MCELFStreamer &>(Streamer);
}
- void emitTCEntry(const MCSymbol &S, PPCMCExpr::VariantKind Kind) override {
+ void emitTCEntry(const MCSymbol &S, PPCMCExpr::Specifier Kind) override {
// Creates a R_PPC64_TOC relocation
Streamer.emitValueToAlignment(Align(8));
Streamer.emitSymbolValue(&S, 8);
@@ -372,7 +372,7 @@ class PPCTargetMachOStreamer : public PPCTargetStreamer {
public:
PPCTargetMachOStreamer(MCStreamer &S) : PPCTargetStreamer(S) {}
- void emitTCEntry(const MCSymbol &S, PPCMCExpr::VariantKind Kind) override {
+ void emitTCEntry(const MCSymbol &S, PPCMCExpr::Specifier Kind) override {
llvm_unreachable("Unknown pseudo-op: .tc");
}
@@ -394,7 +394,7 @@ class PPCTargetXCOFFStreamer : public PPCTargetStreamer {
public:
PPCTargetXCOFFStreamer(MCStreamer &S) : PPCTargetStreamer(S) {}
- void emitTCEntry(const MCSymbol &S, PPCMCExpr::VariantKind Kind) override {
+ void emitTCEntry(const MCSymbol &S, PPCMCExpr::Specifier Kind) override {
const MCAsmInfo *MAI = Streamer.getContext().getAsmInfo();
const unsigned PointerSize = MAI->getCodePointerSize();
Streamer.emitValueToAlignment(Align(PointerSize));
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
index bc8e7d5..d1d3d9d 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
@@ -25,7 +25,7 @@ public:
PPCTargetStreamer(MCStreamer &S);
~PPCTargetStreamer() override;
- virtual void emitTCEntry(const MCSymbol &S, PPCMCExpr::VariantKind Kind) {}
+ virtual void emitTCEntry(const MCSymbol &S, PPCMCExpr::Specifier Kind) {}
virtual void emitMachine(StringRef CPU){};
virtual void emitAbiVersion(int AbiVersion){};
virtual void emitLocalEntry(MCSymbolELF *S, const MCExpr *LocalOffset){};
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
index 95e1e58..97be62f 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
@@ -40,8 +40,8 @@ llvm::createPPCXCOFFObjectWriter(bool Is64Bit) {
std::pair<uint8_t, uint8_t> PPCXCOFFObjectWriter::getRelocTypeAndSignSize(
const MCValue &Target, const MCFixup &Fixup, bool IsPCRel) const {
- const auto Modifier = Target.isAbsolute() ? PPCMCExpr::VK_None
- : getVariantKind(Target.getSymA());
+ const auto Specifier =
+ Target.isAbsolute() ? PPCMCExpr::VK_None : getSpecifier(Target.getSymA());
// People from AIX OS team says AIX link editor does not care about
// the sign bit in the relocation entry "most" of the time.
// The system assembler seems to set the sign bit on relocation entry
@@ -59,7 +59,7 @@ std::pair<uint8_t, uint8_t> PPCXCOFFObjectWriter::getRelocTypeAndSignSize(
report_fatal_error("Unimplemented fixup kind.");
case PPC::fixup_ppc_half16: {
const uint8_t SignAndSizeForHalf16 = EncodedSignednessIndicator | 15;
- switch (Modifier) {
+ switch (Specifier) {
default:
report_fatal_error("Unsupported modifier for half16 fixup.");
case PPCMCExpr::VK_None:
@@ -78,7 +78,7 @@ std::pair<uint8_t, uint8_t> PPCXCOFFObjectWriter::getRelocTypeAndSignSize(
case PPC::fixup_ppc_half16dq: {
if (IsPCRel)
report_fatal_error("Invalid PC-relative relocation.");
- switch (Modifier) {
+ switch (Specifier) {
default:
llvm_unreachable("Unsupported Modifier");
case PPCMCExpr::VK_None:
@@ -98,7 +98,7 @@ std::pair<uint8_t, uint8_t> PPCXCOFFObjectWriter::getRelocTypeAndSignSize(
case PPC::fixup_ppc_br24abs:
return {XCOFF::RelocationType::R_RBA, EncodedSignednessIndicator | 25};
case PPC::fixup_ppc_nofixup: {
- if (Modifier == PPCMCExpr::VK_None)
+ if (Specifier == PPCMCExpr::VK_None)
return {XCOFF::RelocationType::R_REF, 0};
else
llvm_unreachable("Unsupported Modifier");
@@ -108,7 +108,7 @@ std::pair<uint8_t, uint8_t> PPCXCOFFObjectWriter::getRelocTypeAndSignSize(
const uint8_t SignAndSizeForFKData =
EncodedSignednessIndicator |
((unsigned)Fixup.getKind() == FK_Data_4 ? 31 : 63);
- switch (Modifier) {
+ switch (Specifier) {
default:
report_fatal_error("Unsupported modifier");
case PPCMCExpr::VK_AIX_TLSGD:
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
index 79e5263..358dffc 100644
--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -100,13 +100,13 @@ static cl::opt<bool> EnableSSPCanaryBitInTB(
cl::desc("Enable Passing SSP Canary info in Trackback on AIX"), cl::Hidden);
// Specialize DenseMapInfo to allow
-// std::pair<const MCSymbol *, PPCMCExpr::VariantKind> in DenseMap.
+// std::pair<const MCSymbol *, PPCMCExpr::Specifier> in DenseMap.
// This specialization is needed here because that type is used as keys in the
// map representing TOC entries.
namespace llvm {
template <>
-struct DenseMapInfo<std::pair<const MCSymbol *, PPCMCExpr::VariantKind>> {
- using TOCKey = std::pair<const MCSymbol *, PPCMCExpr::VariantKind>;
+struct DenseMapInfo<std::pair<const MCSymbol *, PPCMCExpr::Specifier>> {
+ using TOCKey = std::pair<const MCSymbol *, PPCMCExpr::Specifier>;
static inline TOCKey getEmptyKey() { return {nullptr, PPCMCExpr::VK_None}; }
static inline TOCKey getTombstoneKey() {
@@ -149,8 +149,7 @@ protected:
// entry as a TLSGD entry so we can add the @m relocation:
// .tc .i[TC],i[TL]@m
// By default, VK_None is used for the VariantKind.
- MapVector<std::pair<const MCSymbol *, PPCMCExpr::VariantKind>, MCSymbol *>
- TOC;
+ MapVector<std::pair<const MCSymbol *, PPCMCExpr::Specifier>, MCSymbol *> TOC;
const PPCSubtarget *Subtarget = nullptr;
// Keep track of the number of TLS variables and their corresponding
@@ -177,7 +176,7 @@ public:
MCSymbol *
lookUpOrCreateTOCEntry(const MCSymbol *Sym, TOCEntryType Type,
- PPCMCExpr::VariantKind Kind = PPCMCExpr::VK_None);
+ PPCMCExpr::Specifier Kind = PPCMCExpr::VK_None);
bool doInitialization(Module &M) override {
if (!TOC.empty())
@@ -185,8 +184,8 @@ public:
return AsmPrinter::doInitialization(M);
}
- const MCExpr *symbolWithVariant(const MCSymbol *S,
- PPCMCExpr::VariantKind Kind);
+ const MCExpr *symbolWithSpecifier(const MCSymbol *S,
+ PPCMCExpr::Specifier Kind);
void emitInstruction(const MachineInstr *MI) override;
/// This function is for PrintAsmOperand and PrintAsmMemoryOperand,
@@ -202,7 +201,7 @@ public:
void LowerSTACKMAP(StackMaps &SM, const MachineInstr &MI);
void LowerPATCHPOINT(StackMaps &SM, const MachineInstr &MI);
- void emitTlsCall(const MachineInstr *MI, PPCMCExpr::VariantKind VK);
+ void emitTlsCall(const MachineInstr *MI, PPCMCExpr::Specifier VK);
void EmitAIXTlsCallHelper(const MachineInstr *MI);
const MCExpr *getAdjustedFasterLocalExpr(const MachineOperand &MO,
int64_t Offset);
@@ -509,12 +508,12 @@ static void setOptionalCodeModel(MCSymbolXCOFF *XSym, CodeModel::Model CM) {
/// the TOC entry.
MCSymbol *PPCAsmPrinter::lookUpOrCreateTOCEntry(const MCSymbol *Sym,
TOCEntryType Type,
- PPCMCExpr::VariantKind Kind) {
+ PPCMCExpr::Specifier Spec) {
// If this is a new TOC entry add statistics about it.
- if (!TOC.contains({Sym, Kind}))
+ if (!TOC.contains({Sym, Spec}))
collectTOCStats(Type);
- MCSymbol *&TOCEntry = TOC[{Sym, Kind}];
+ MCSymbol *&TOCEntry = TOC[{Sym, Spec}];
if (!TOCEntry)
TOCEntry = createTempSymbol("C");
return TOCEntry;
@@ -686,8 +685,8 @@ void PPCAsmPrinter::EmitAIXTlsCallHelper(const MachineInstr *MI) {
/// Given a GETtls[ld]ADDR[32] instruction, print a call to __tls_get_addr to
/// the current output stream.
void PPCAsmPrinter::emitTlsCall(const MachineInstr *MI,
- PPCMCExpr::VariantKind VK) {
- PPCMCExpr::VariantKind Kind = PPCMCExpr::VK_None;
+ PPCMCExpr::Specifier VK) {
+ PPCMCExpr::Specifier Kind = PPCMCExpr::VK_None;
unsigned Opcode = PPC::BL8_NOP_TLS;
assert(MI->getNumOperands() >= 3 && "Expecting at least 3 operands from MI");
@@ -795,9 +794,9 @@ getTOCEntryTypeForMO(const MachineOperand &MO) {
}
}
-const MCExpr *PPCAsmPrinter::symbolWithVariant(const MCSymbol *S,
- PPCMCExpr::VariantKind Kind) {
- return MCSymbolRefExpr::create(S, MCSymbolRefExpr::VariantKind(Kind),
+const MCExpr *PPCAsmPrinter::symbolWithSpecifier(const MCSymbol *S,
+ PPCMCExpr::Specifier Spec) {
+ return MCSymbolRefExpr::create(S, MCSymbolRefExpr::VariantKind(Spec),
OutContext);
}
@@ -857,7 +856,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
auto getTOCEntryLoadingExprForXCOFF =
[IsPPC64, getTOCRelocAdjustedExprForXCOFF,
this](const MCSymbol *MOSymbol, const MCExpr *Expr,
- PPCMCExpr::VariantKind VK = PPCMCExpr::VK_None) -> const MCExpr * {
+ PPCMCExpr::Specifier VK = PPCMCExpr::VK_None) -> const MCExpr * {
const unsigned EntryByteSize = IsPPC64 ? 8 : 4;
const auto TOCEntryIter = TOC.find({MOSymbol, VK});
assert(TOCEntryIter != TOC.end() &&
@@ -871,7 +870,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
return Expr;
};
- auto GetVKForMO = [&](const MachineOperand &MO) {
+ auto getSpecifier = [&](const MachineOperand &MO) {
// For TLS initial-exec and local-exec accesses on AIX, we have one TOC
// entry for the symbol (with the variable offset), which is differentiated
// by MO_TPREL_FLAG.
@@ -1051,13 +1050,13 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
// Create a reference to the GOT entry for the symbol. The GOT entry will be
// synthesized later.
if (PL == PICLevel::SmallPIC && !IsAIX) {
- const MCExpr *Exp = symbolWithVariant(MOSymbol, PPCMCExpr::VK_GOT);
+ const MCExpr *Exp = symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_GOT);
TmpInst.getOperand(1) = MCOperand::createExpr(Exp);
EmitToStreamer(*OutStreamer, TmpInst);
return;
}
- PPCMCExpr::VariantKind VK = GetVKForMO(MO);
+ PPCMCExpr::Specifier VK = getSpecifier(MO);
// Otherwise, use the TOC. 'TOCEntry' is a label used to reference the
// storage allocated in the TOC which contains the address of
@@ -1132,7 +1131,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
// Map the operand to its corresponding MCSymbol.
const MCSymbol *const MOSymbol = getMCSymbolForTOCPseudoMO(MO, *this);
- PPCMCExpr::VariantKind VK = GetVKForMO(MO);
+ PPCMCExpr::Specifier VK = getSpecifier(MO);
// Map the machine operand to its corresponding MCSymbol, then map the
// global address operand to be a reference to the TOC entry we will
@@ -1140,9 +1139,9 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
MCSymbol *TOCEntry =
lookUpOrCreateTOCEntry(MOSymbol, getTOCEntryTypeForMO(MO), VK);
- PPCMCExpr::VariantKind VKExpr =
+ PPCMCExpr::Specifier VKExpr =
IsAIX ? PPCMCExpr::VK_None : PPCMCExpr::VK_TOC;
- const MCExpr *Exp = symbolWithVariant(TOCEntry, VKExpr);
+ const MCExpr *Exp = symbolWithSpecifier(TOCEntry, VKExpr);
TmpInst.getOperand(1) = MCOperand::createExpr(
IsAIX ? getTOCEntryLoadingExprForXCOFF(MOSymbol, Exp, VK) : Exp);
@@ -1171,7 +1170,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
// Map the machine operand to its corresponding MCSymbol.
MCSymbol *MOSymbol = getMCSymbolForTOCPseudoMO(MO, *this);
- PPCMCExpr::VariantKind VK = GetVKForMO(MO);
+ PPCMCExpr::Specifier VK = getSpecifier(MO);
// Map the global address operand to be a reference to the TOC entry we
// will synthesize later. 'TOCEntry' is a label used to reference the
@@ -1191,7 +1190,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
MOSymbol = lookUpOrCreateTOCEntry(MOSymbol, getTOCEntryTypeForMO(MO), VK);
}
- const MCExpr *Exp = symbolWithVariant(MOSymbol, PPCMCExpr::VK_U);
+ const MCExpr *Exp = symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_U);
TmpInst.getOperand(2) = MCOperand::createExpr(Exp);
EmitToStreamer(*OutStreamer, TmpInst);
return;
@@ -1215,7 +1214,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
// Map the machine operand to its corresponding MCSymbol.
MCSymbol *MOSymbol = getMCSymbolForTOCPseudoMO(MO, *this);
- PPCMCExpr::VariantKind VK = GetVKForMO(MO);
+ PPCMCExpr::Specifier VK = getSpecifier(MO);
// Always use TOC on AIX. Map the global address operand to be a reference
// to the TOC entry we will synthesize later. 'TOCEntry' is a label used to
@@ -1223,7 +1222,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
// 'MOSymbol'.
MCSymbol *TOCEntry =
lookUpOrCreateTOCEntry(MOSymbol, getTOCEntryTypeForMO(MO), VK);
- const MCExpr *Exp = symbolWithVariant(TOCEntry, PPCMCExpr::VK_L);
+ const MCExpr *Exp = symbolWithSpecifier(TOCEntry, PPCMCExpr::VK_L);
TmpInst.getOperand(1) = MCOperand::createExpr(Exp);
EmitToStreamer(*OutStreamer, TmpInst);
return;
@@ -1244,7 +1243,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const MCSymbol *MOSymbol = getMCSymbolForTOCPseudoMO(MO, *this);
- PPCMCExpr::VariantKind VK = GetVKForMO(MO);
+ PPCMCExpr::Specifier VK = getSpecifier(MO);
const bool GlobalToc =
MO.isGlobal() && Subtarget->isGVIndirectSymbol(MO.getGlobal());
@@ -1258,7 +1257,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
VK = IsAIX ? PPCMCExpr::VK_U : PPCMCExpr::VK_TOC_HA;
- const MCExpr *Exp = symbolWithVariant(MOSymbol, VK);
+ const MCExpr *Exp = symbolWithSpecifier(MOSymbol, VK);
if (!MO.isJTI() && MO.getOffset())
Exp = MCBinaryExpr::createAdd(Exp,
@@ -1292,14 +1291,14 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const MCSymbol *MOSymbol = getMCSymbolForTOCPseudoMO(MO, *this);
- PPCMCExpr::VariantKind VK = GetVKForMO(MO);
+ PPCMCExpr::Specifier VK = getSpecifier(MO);
CodeModel::Model CM =
IsAIX ? getCodeModel(*Subtarget, TM, MO) : TM.getCodeModel();
if (!MO.isCPI() || CM == CodeModel::Large)
MOSymbol = lookUpOrCreateTOCEntry(MOSymbol, getTOCEntryTypeForMO(MO), VK);
VK = IsAIX ? PPCMCExpr::VK_L : PPCMCExpr::VK_TOC_LO;
- const MCExpr *Exp = symbolWithVariant(MOSymbol, VK);
+ const MCExpr *Exp = symbolWithSpecifier(MOSymbol, VK);
TmpInst.getOperand(1) = MCOperand::createExpr(Exp);
EmitToStreamer(*OutStreamer, TmpInst);
return;
@@ -1344,7 +1343,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymGotTprel =
- symbolWithVariant(MOSymbol, PPCMCExpr::VK_GOT_TPREL_HA);
+ symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_GOT_TPREL_HA);
EmitToStreamer(*OutStreamer, MCInstBuilder(PPC::ADDIS8)
.addReg(MI->getOperand(0).getReg())
.addReg(MI->getOperand(1).getReg())
@@ -1362,8 +1361,8 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *Exp =
- symbolWithVariant(MOSymbol, IsPPC64 ? PPCMCExpr::VK_GOT_TPREL_LO
- : PPCMCExpr::VK_GOT_TPREL);
+ symbolWithSpecifier(MOSymbol, IsPPC64 ? PPCMCExpr::VK_GOT_TPREL_LO
+ : PPCMCExpr::VK_GOT_TPREL);
TmpInst.getOperand(1) = MCOperand::createExpr(Exp);
EmitToStreamer(*OutStreamer, TmpInst);
return;
@@ -1423,7 +1422,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymGotTlsGD =
- symbolWithVariant(MOSymbol, PPCMCExpr::VK_GOT_TLSGD_HA);
+ symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_GOT_TLSGD_HA);
EmitToStreamer(*OutStreamer, MCInstBuilder(PPC::ADDIS8)
.addReg(MI->getOperand(0).getReg())
.addReg(MI->getOperand(1).getReg())
@@ -1440,8 +1439,8 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymGotTlsGD =
- symbolWithVariant(MOSymbol, IsPPC64 ? PPCMCExpr::VK_GOT_TLSGD_LO
- : PPCMCExpr::VK_GOT_TLSGD);
+ symbolWithSpecifier(MOSymbol, IsPPC64 ? PPCMCExpr::VK_GOT_TLSGD_LO
+ : PPCMCExpr::VK_GOT_TLSGD);
EmitToStreamer(*OutStreamer,
MCInstBuilder(IsPPC64 ? PPC::ADDI8 : PPC::ADDI)
.addReg(MI->getOperand(0).getReg())
@@ -1483,7 +1482,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymGotTlsLD =
- symbolWithVariant(MOSymbol, PPCMCExpr::VK_GOT_TLSLD_HA);
+ symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_GOT_TLSLD_HA);
EmitToStreamer(*OutStreamer, MCInstBuilder(PPC::ADDIS8)
.addReg(MI->getOperand(0).getReg())
.addReg(MI->getOperand(1).getReg())
@@ -1500,8 +1499,8 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymGotTlsLD =
- symbolWithVariant(MOSymbol, IsPPC64 ? PPCMCExpr::VK_GOT_TLSLD_LO
- : PPCMCExpr::VK_GOT_TLSLD);
+ symbolWithSpecifier(MOSymbol, IsPPC64 ? PPCMCExpr::VK_GOT_TLSLD_LO
+ : PPCMCExpr::VK_GOT_TLSLD);
EmitToStreamer(*OutStreamer,
MCInstBuilder(IsPPC64 ? PPC::ADDI8 : PPC::ADDI)
.addReg(MI->getOperand(0).getReg())
@@ -1529,7 +1528,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymDtprel =
- symbolWithVariant(MOSymbol, PPCMCExpr::VK_DTPREL_HA);
+ symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_DTPREL_HA);
EmitToStreamer(
*OutStreamer,
MCInstBuilder(IsPPC64 ? PPC::ADDIS8 : PPC::ADDIS)
@@ -1544,7 +1543,8 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const MachineOperand &MO = MI->getOperand(2);
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
- const MCExpr *SymDtprel = symbolWithVariant(MOSymbol, PPCMCExpr::VK_DTPREL);
+ const MCExpr *SymDtprel =
+ symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_DTPREL);
EmitToStreamer(*OutStreamer, MCInstBuilder(PPC::PADDI8)
.addReg(MI->getOperand(0).getReg())
.addReg(MI->getOperand(1).getReg())
@@ -1562,7 +1562,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
const MCExpr *SymDtprel =
- symbolWithVariant(MOSymbol, PPCMCExpr::VK_DTPREL_LO);
+ symbolWithSpecifier(MOSymbol, PPCMCExpr::VK_DTPREL_LO);
EmitToStreamer(*OutStreamer,
MCInstBuilder(IsPPC64 ? PPC::ADDI8 : PPC::ADDI)
.addReg(MI->getOperand(0).getReg())
diff --git a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
index e4b1971d..13cee8d 100644
--- a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
+++ b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
@@ -54,7 +54,7 @@ static MCSymbol *GetSymbolFromOperand(const MachineOperand &MO,
static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol,
AsmPrinter &Printer) {
MCContext &Ctx = Printer.OutContext;
- PPCMCExpr::VariantKind RefKind = PPCMCExpr::VK_None;
+ PPCMCExpr::Specifier RefKind = PPCMCExpr::VK_None;
unsigned access = MO.getTargetFlags();