@@ -137,7 +137,7 @@ class RISCVAsmParser : public MCTargetAsmParser {
137137 // Helper to emit a combination of AUIPC and SecondOpcode. Used to implement
138138 // helpers such as emitLoadLocalAddress and emitLoadAddress.
139139 void emitAuipcInstPair (MCRegister DestReg, MCRegister TmpReg,
140- const MCExpr *Symbol, RISCVMCExpr ::Specifier VKHi,
140+ const MCExpr *Symbol, RISCV ::Specifier VKHi,
141141 unsigned SecondOpcode, SMLoc IDLoc, MCStreamer &Out);
142142
143143 // Helper to emit pseudo instruction "lla" used in PC-rel addressing.
@@ -295,8 +295,7 @@ class RISCVAsmParser : public MCTargetAsmParser {
295295#undef GET_OPERAND_DIAGNOSTIC_TYPES
296296 };
297297
298- static bool classifySymbolRef (const MCExpr *Expr,
299- RISCVMCExpr::Specifier &Kind);
298+ static bool classifySymbolRef (const MCExpr *Expr, RISCV::Specifier &Kind);
300299 static bool isSymbolDiff (const MCExpr *Expr);
301300
302301 RISCVAsmParser (const MCSubtargetInfo &STI, MCAsmParser &Parser,
@@ -544,7 +543,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
544543 if (evaluateConstantImm (getImm (), Imm))
545544 return isShiftedInt<N - 1 , 1 >(fixImmediateForRV32 (Imm, isRV64Imm ()));
546545
547- RISCVMCExpr ::Specifier VK = RISCV::S_None;
546+ RISCV ::Specifier VK = RISCV::S_None;
548547 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
549548 VK == RISCV::S_None;
550549 }
@@ -559,7 +558,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
559558 if (evaluateConstantImm (getImm (), Imm))
560559 return isInt<N>(fixImmediateForRV32 (Imm, isRV64Imm ()));
561560
562- RISCVMCExpr ::Specifier VK = RISCV::S_None;
561+ RISCV ::Specifier VK = RISCV::S_None;
563562 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
564563 VK == RISCV::S_None;
565564 }
@@ -572,7 +571,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
572571 if (!isImm () || evaluateConstantImm (getImm (), Imm))
573572 return false ;
574573
575- RISCVMCExpr ::Specifier VK = RISCV::S_None;
574+ RISCV ::Specifier VK = RISCV::S_None;
576575 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
577576 VK == RISCV::S_None;
578577 }
@@ -583,7 +582,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
583582 if (!isImm () || evaluateConstantImm (getImm (), Imm))
584583 return false ;
585584
586- RISCVMCExpr ::Specifier VK = RISCV::S_None;
585+ RISCV ::Specifier VK = RISCV::S_None;
587586 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
588587 VK == ELF::R_RISCV_CALL_PLT;
589588 }
@@ -594,7 +593,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
594593 if (!isImm () || evaluateConstantImm (getImm (), Imm))
595594 return false ;
596595
597- RISCVMCExpr ::Specifier VK = RISCV::S_None;
596+ RISCV ::Specifier VK = RISCV::S_None;
598597 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
599598 VK == ELF::R_RISCV_CALL_PLT;
600599 }
@@ -605,7 +604,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
605604 if (!isImm () || evaluateConstantImm (getImm (), Imm))
606605 return false ;
607606
608- RISCVMCExpr ::Specifier VK = RISCV::S_None;
607+ RISCV ::Specifier VK = RISCV::S_None;
609608 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
610609 VK == ELF::R_RISCV_TPREL_ADD;
611610 }
@@ -616,7 +615,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
616615 if (!isImm () || evaluateConstantImm (getImm (), Imm))
617616 return false ;
618617
619- RISCVMCExpr ::Specifier VK = RISCV::S_None;
618+ RISCV ::Specifier VK = RISCV::S_None;
620619 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
621620 VK == ELF::R_RISCV_TLSDESC_CALL;
622621 }
@@ -870,7 +869,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
870869 if (evaluateConstantImm (getImm (), Imm))
871870 return isInt<12 >(fixImmediateForRV32 (Imm, isRV64Imm ()));
872871
873- RISCVMCExpr ::Specifier VK = RISCV::S_None;
872+ RISCV ::Specifier VK = RISCV::S_None;
874873 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
875874 (VK == RISCV::S_LO || VK == RISCV::S_PCREL_LO ||
876875 VK == RISCV::S_TPREL_LO || VK == ELF::R_RISCV_TLSDESC_LOAD_LO12 ||
@@ -902,7 +901,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
902901 if (evaluateConstantImm (getImm (), Imm))
903902 return isInt<20 >(fixImmediateForRV32 (Imm, isRV64Imm ()));
904903
905- RISCVMCExpr ::Specifier VK = RISCV::S_None;
904+ RISCV ::Specifier VK = RISCV::S_None;
906905 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
907906 VK == RISCV::S_QC_ABS20;
908907 }
@@ -915,7 +914,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
915914 if (evaluateConstantImm (getImm (), Imm))
916915 return isUInt<20 >(Imm);
917916
918- RISCVMCExpr ::Specifier VK = RISCV::S_None;
917+ RISCV ::Specifier VK = RISCV::S_None;
919918 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
920919 (VK == ELF::R_RISCV_HI20 || VK == ELF::R_RISCV_TPREL_HI20);
921920 }
@@ -928,7 +927,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
928927 if (evaluateConstantImm (getImm (), Imm))
929928 return isUInt<20 >(Imm);
930929
931- RISCVMCExpr ::Specifier VK = RISCV::S_None;
930+ RISCV ::Specifier VK = RISCV::S_None;
932931 return RISCVAsmParser::classifySymbolRef (getImm (), VK) &&
933932 (VK == ELF::R_RISCV_PCREL_HI20 || VK == ELF::R_RISCV_GOT_HI20 ||
934933 VK == ELF::R_RISCV_TLS_GOT_HI20 || VK == ELF::R_RISCV_TLS_GD_HI20 ||
@@ -2099,7 +2098,7 @@ bool RISCVAsmParser::parseExprWithSpecifier(const MCExpr *&Res, SMLoc &E) {
20992098 if (getParser ().parseParenExpression (SubExpr, E))
21002099 return true ;
21012100
2102- Res = RISCVMCExpr ::create (SubExpr, Spec, getContext ());
2101+ Res = MCSpecifierExpr ::create (SubExpr, Spec, getContext ());
21032102 return false ;
21042103}
21052104
@@ -2183,11 +2182,11 @@ ParseStatus RISCVAsmParser::parseCallSymbol(OperandVector &Operands) {
21832182 }
21842183
21852184 SMLoc E = SMLoc::getFromPointer (S.getPointer () + Identifier.size ());
2186- RISCVMCExpr ::Specifier Kind = ELF::R_RISCV_CALL_PLT;
2185+ RISCV ::Specifier Kind = ELF::R_RISCV_CALL_PLT;
21872186
21882187 MCSymbol *Sym = getContext ().getOrCreateSymbol (Identifier);
21892188 Res = MCSymbolRefExpr::create (Sym, getContext ());
2190- Res = RISCVMCExpr ::create (Res, Kind, getContext ());
2189+ Res = MCSpecifierExpr ::create (Res, Kind, getContext ());
21912190 Operands.push_back (RISCVOperand::createImm (Res, S, E, isRV64 ()));
21922191 return ParseStatus::Success;
21932192}
@@ -2203,7 +2202,7 @@ ParseStatus RISCVAsmParser::parsePseudoJumpSymbol(OperandVector &Operands) {
22032202 if (Res->getKind () != MCExpr::ExprKind::SymbolRef)
22042203 return Error (S, " operand must be a valid jump target" );
22052204
2206- Res = RISCVMCExpr ::create (Res, ELF::R_RISCV_CALL_PLT, getContext ());
2205+ Res = MCSpecifierExpr ::create (Res, ELF::R_RISCV_CALL_PLT, getContext ());
22072206 Operands.push_back (RISCVOperand::createImm (Res, S, E, isRV64 ()));
22082207 return ParseStatus::Success;
22092208}
@@ -2918,10 +2917,9 @@ bool RISCVAsmParser::parseInstruction(ParseInstructionInfo &Info,
29182917}
29192918
29202919bool RISCVAsmParser::classifySymbolRef (const MCExpr *Expr,
2921- RISCVMCExpr ::Specifier &Kind) {
2920+ RISCV ::Specifier &Kind) {
29222921 Kind = RISCV::S_None;
2923-
2924- if (const RISCVMCExpr *RE = dyn_cast<RISCVMCExpr>(Expr)) {
2922+ if (const auto *RE = dyn_cast<MCSpecifierExpr>(Expr)) {
29252923 Kind = RE->getSpecifier ();
29262924 Expr = RE->getSubExpr ();
29272925 }
@@ -3434,7 +3432,7 @@ void RISCVAsmParser::emitLoadImm(MCRegister DestReg, int64_t Value,
34343432
34353433void RISCVAsmParser::emitAuipcInstPair (MCRegister DestReg, MCRegister TmpReg,
34363434 const MCExpr *Symbol,
3437- RISCVMCExpr ::Specifier VKHi,
3435+ RISCV ::Specifier VKHi,
34383436 unsigned SecondOpcode, SMLoc IDLoc,
34393437 MCStreamer &Out) {
34403438 // A pair of instructions for PC-relative addressing; expands to
@@ -3445,11 +3443,11 @@ void RISCVAsmParser::emitAuipcInstPair(MCRegister DestReg, MCRegister TmpReg,
34453443 MCSymbol *TmpLabel = Ctx.createNamedTempSymbol (" pcrel_hi" );
34463444 Out.emitLabel (TmpLabel);
34473445
3448- const RISCVMCExpr *SymbolHi = RISCVMCExpr ::create (Symbol, VKHi, Ctx);
3446+ const auto *SymbolHi = MCSpecifierExpr ::create (Symbol, VKHi, Ctx);
34493447 emitToStreamer (Out,
34503448 MCInstBuilder (RISCV::AUIPC).addReg (TmpReg).addExpr (SymbolHi));
34513449
3452- const MCExpr *RefToLinkTmpLabel = RISCVMCExpr ::create (
3450+ const MCExpr *RefToLinkTmpLabel = MCSpecifierExpr ::create (
34533451 MCSymbolRefExpr::create (TmpLabel, Ctx), RISCV::S_PCREL_LO, Ctx);
34543452
34553453 emitToStreamer (Out, MCInstBuilder (SecondOpcode)
0 commit comments