@@ -219,73 +219,6 @@ void MipsMCExpr::visitUsedExpr(MCStreamer &Streamer) const {
219
219
Streamer.visitUsedExpr (*getSubExpr ());
220
220
}
221
221
222
- static void fixELFSymbolsInTLSFixupsImpl (const MCExpr *Expr, MCAssembler &Asm) {
223
- switch (Expr->getKind ()) {
224
- case MCExpr::Target:
225
- fixELFSymbolsInTLSFixupsImpl (cast<MipsMCExpr>(Expr)->getSubExpr (), Asm);
226
- break ;
227
- case MCExpr::Constant:
228
- break ;
229
- case MCExpr::Binary: {
230
- const MCBinaryExpr *BE = cast<MCBinaryExpr>(Expr);
231
- fixELFSymbolsInTLSFixupsImpl (BE->getLHS (), Asm);
232
- fixELFSymbolsInTLSFixupsImpl (BE->getRHS (), Asm);
233
- break ;
234
- }
235
- case MCExpr::SymbolRef: {
236
- // We're known to be under a TLS fixup, so any symbol should be
237
- // modified. There should be only one.
238
- const MCSymbolRefExpr &SymRef = *cast<MCSymbolRefExpr>(Expr);
239
- cast<MCSymbolELF>(SymRef.getSymbol ()).setType (ELF::STT_TLS);
240
- break ;
241
- }
242
- case MCExpr::Unary:
243
- fixELFSymbolsInTLSFixupsImpl (cast<MCUnaryExpr>(Expr)->getSubExpr (), Asm);
244
- break ;
245
- }
246
- }
247
-
248
- void MipsMCExpr::fixELFSymbolsInTLSFixups (MCAssembler &Asm) const {
249
- switch (getKind ()) {
250
- case MEK_None:
251
- case MEK_Special:
252
- llvm_unreachable (" MEK_None and MEK_Special are invalid" );
253
- break ;
254
- case MEK_CALL_HI16:
255
- case MEK_CALL_LO16:
256
- case MEK_GOT:
257
- case MEK_GOT_CALL:
258
- case MEK_GOT_DISP:
259
- case MEK_GOT_HI16:
260
- case MEK_GOT_LO16:
261
- case MEK_GOT_OFST:
262
- case MEK_GOT_PAGE:
263
- case MEK_GPREL:
264
- case MEK_HI:
265
- case MEK_HIGHER:
266
- case MEK_HIGHEST:
267
- case MEK_LO:
268
- case MEK_NEG:
269
- case MEK_PCREL_HI16:
270
- case MEK_PCREL_LO16:
271
- // If we do have nested target-specific expressions, they will be in
272
- // a consecutive chain.
273
- if (const MipsMCExpr *E = dyn_cast<const MipsMCExpr>(getSubExpr ()))
274
- E->fixELFSymbolsInTLSFixups (Asm);
275
- break ;
276
- case MEK_DTPREL:
277
- case MEK_DTPREL_HI:
278
- case MEK_DTPREL_LO:
279
- case MEK_TLSLDM:
280
- case MEK_TLSGD:
281
- case MEK_GOTTPREL:
282
- case MEK_TPREL_HI:
283
- case MEK_TPREL_LO:
284
- fixELFSymbolsInTLSFixupsImpl (getSubExpr (), Asm);
285
- break ;
286
- }
287
- }
288
-
289
222
bool MipsMCExpr::isGpOff (MipsExprKind &Kind) const {
290
223
if (getKind () == MEK_HI || getKind () == MEK_LO) {
291
224
if (const MipsMCExpr *S1 = dyn_cast<const MipsMCExpr>(getSubExpr ())) {
0 commit comments