@@ -86,12 +86,10 @@ void MCExpr::print(raw_ostream &OS, const MCAsmInfo *MAI, bool InParens) const {
86
86
87
87
const MCSymbolRefExpr::VariantKind Kind = SRE.getKind ();
88
88
if (Kind != MCSymbolRefExpr::VK_None) {
89
- if (MAI && MAI ->useParensForSymbolVariant ()) // ARM
89
+ if (MAI->useParensForSymbolVariant ()) // ARM
90
90
OS << ' (' << MAI->getVariantKindName (Kind) << ' )' ;
91
- else if (MAI)
92
- OS << ' @' << MAI->getVariantKindName (Kind);
93
91
else
94
- OS << ' @' << MCSymbolRefExpr:: getVariantKindName (Kind);
92
+ OS << ' @' << MAI-> getVariantKindName (Kind);
95
93
}
96
94
97
95
return ;
@@ -248,84 +246,6 @@ const MCSymbolRefExpr *MCSymbolRefExpr::create(StringRef Name, VariantKind Kind,
248
246
return create (Ctx.getOrCreateSymbol (Name), Kind, Ctx);
249
247
}
250
248
251
- // TODO: Move target-specific Kinds to lib/Target/*/MCTargetDesc/*AsmInfo.cpp.
252
- StringRef MCSymbolRefExpr::getVariantKindName (VariantKind Kind) {
253
- switch (Kind) {
254
- // clang-format off
255
- case VK_Invalid: default : return " <<invalid>>" ;
256
- case VK_None: return " <<none>>" ;
257
-
258
- case VK_DTPOFF: return " DTPOFF" ;
259
- case VK_DTPREL: return " DTPREL" ;
260
- case VK_GOT: return " GOT" ;
261
- case VK_GOTENT: return " GOTENT" ;
262
- case VK_GOTOFF: return " GOTOFF" ;
263
- case VK_GOTREL: return " GOTREL" ;
264
- case VK_PCREL: return " PCREL" ;
265
- case VK_GOTPCREL: return " GOTPCREL" ;
266
- case VK_GOTTPOFF: return " GOTTPOFF" ;
267
- case VK_INDNTPOFF: return " INDNTPOFF" ;
268
- case VK_NTPOFF: return " NTPOFF" ;
269
- case VK_GOTNTPOFF: return " GOTNTPOFF" ;
270
- case VK_PLT: return " PLT" ;
271
- case VK_TLSGD: return " TLSGD" ;
272
- case VK_TLSLD: return " TLSLD" ;
273
- case VK_TLSLDM: return " TLSLDM" ;
274
- case VK_TPOFF: return " TPOFF" ;
275
- case VK_TPREL: return " TPREL" ;
276
- case VK_TLSCALL: return " tlscall" ;
277
- case VK_TLSDESC: return " tlsdesc" ;
278
- case VK_TLVP: return " TLVP" ;
279
- case VK_TLVPPAGE: return " TLVPPAGE" ;
280
- case VK_TLVPPAGEOFF: return " TLVPPAGEOFF" ;
281
- case VK_PAGE: return " PAGE" ;
282
- case VK_PAGEOFF: return " PAGEOFF" ;
283
- case VK_GOTPAGE: return " GOTPAGE" ;
284
- case VK_GOTPAGEOFF: return " GOTPAGEOFF" ;
285
- case VK_SECREL: return " SECREL32" ;
286
- case VK_WEAKREF: return " WEAKREF" ;
287
- case VK_COFF_IMGREL32: return " IMGREL" ;
288
- // clang-format on
289
- }
290
- llvm_unreachable (" Invalid variant kind" );
291
- }
292
-
293
- // FIXME: All variant kinds are target-specific. Move them to
294
- // *AsmParser::getVariantKindForName and remove this function.
295
- MCSymbolRefExpr::VariantKind
296
- MCSymbolRefExpr::getVariantKindForName (StringRef Name) {
297
- return StringSwitch<VariantKind>(Name.lower ())
298
- .Case (" dtprel" , VK_DTPREL)
299
- .Case (" dtpoff" , VK_DTPOFF)
300
- .Case (" got" , VK_GOT)
301
- .Case (" gotent" , VK_GOTENT)
302
- .Case (" gotoff" , VK_GOTOFF)
303
- .Case (" gotrel" , VK_GOTREL)
304
- .Case (" pcrel" , VK_PCREL)
305
- .Case (" gotpcrel" , VK_GOTPCREL)
306
- .Case (" gottpoff" , VK_GOTTPOFF)
307
- .Case (" indntpoff" , VK_INDNTPOFF)
308
- .Case (" ntpoff" , VK_NTPOFF)
309
- .Case (" plt" , VK_PLT)
310
- .Case (" tlscall" , VK_TLSCALL)
311
- .Case (" tlsdesc" , VK_TLSDESC)
312
- .Case (" tlsgd" , VK_TLSGD)
313
- .Case (" tlsld" , VK_TLSLD)
314
- .Case (" tlsldm" , VK_TLSLDM)
315
- .Case (" tpoff" , VK_TPOFF)
316
- .Case (" tprel" , VK_TPREL)
317
- .Case (" tlvp" , VK_TLVP)
318
- .Case (" tlvppage" , VK_TLVPPAGE)
319
- .Case (" tlvppageoff" , VK_TLVPPAGEOFF)
320
- .Case (" page" , VK_PAGE)
321
- .Case (" pageoff" , VK_PAGEOFF)
322
- .Case (" gotpage" , VK_GOTPAGE)
323
- .Case (" gotpageoff" , VK_GOTPAGEOFF)
324
- .Case (" imgrel" , VK_COFF_IMGREL32)
325
- .Case (" secrel32" , VK_SECREL)
326
- .Default (VK_Invalid);
327
- }
328
-
329
249
/* *** */
330
250
331
251
void MCTargetExpr::anchor () {}
0 commit comments