]> granicus.if.org Git - llvm/commitdiff
Revert "[mips] Handle MipsMCExpr sub-expression for the MEK_DTPREL tag"
authorAmara Emerson <aemerson@apple.com>
Thu, 24 Jan 2019 00:24:59 +0000 (00:24 +0000)
committerAmara Emerson <aemerson@apple.com>
Thu, 24 Jan 2019 00:24:59 +0000 (00:24 +0000)
This reverts commit r351987 as it broke some bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351998 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
test/DebugInfo/Mips/dwarfdump-tls.ll

index 3d3003a0811f0d7c692eebf78eeb0e3db5bf7aa1..32931c033e5cb132749416eeda15389abb113aa8 100644 (file)
@@ -613,9 +613,8 @@ getExprOpValue(const MCExpr *Expr, SmallVectorImpl<MCFixup> &Fixups,
       llvm_unreachable("Unhandled fixup kind!");
       break;
     case MipsMCExpr::MEK_DTPREL:
-      // MEK_DTPREL is used for marking TLS DIEExpr only
-      // and contains a regular sub-expression.
-      return getExprOpValue(MipsExpr->getSubExpr(), Fixups, STI);
+      llvm_unreachable("MEK_DTPREL is used for TLS DIEExpr only");
+      break;
     case MipsMCExpr::MEK_CALL_HI16:
       FixupKind = Mips::fixup_Mips_CALL_HI16;
       break;
index 680806c4deb2254880621af144543894b54c5521..42bc847bb61fd7aca7d7ee1ab189d4a11feefc91 100644 (file)
@@ -43,10 +43,8 @@ void MipsMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
     llvm_unreachable("MEK_None and MEK_Special are invalid");
     break;
   case MEK_DTPREL:
-    // MEK_DTPREL is used for marking TLS DIEExpr only
-    // and contains a regular sub-expression.
-    getSubExpr()->print(OS, MAI, true);
-    return;
+    llvm_unreachable("MEK_DTPREL is used for TLS DIEExpr only");
+    break;
   case MEK_CALL_HI16:
     OS << "%call_hi";
     break;
@@ -162,9 +160,7 @@ MipsMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
     case MEK_Special:
       llvm_unreachable("MEK_None and MEK_Special are invalid");
     case MEK_DTPREL:
-      // MEK_DTPREL is used for marking TLS DIEExpr only
-      // and contains a regular sub-expression.
-      return getSubExpr()->evaluateAsRelocatable(Res, Layout, Fixup);
+      llvm_unreachable("MEK_DTPREL is used for TLS DIEExpr only");
     case MEK_DTPREL_HI:
     case MEK_DTPREL_LO:
     case MEK_GOT:
@@ -252,6 +248,9 @@ void MipsMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const {
   case MEK_Special:
     llvm_unreachable("MEK_None and MEK_Special are invalid");
     break;
+  case MEK_DTPREL:
+    llvm_unreachable("MEK_DTPREL is used for TLS DIEExpr only");
+    break;
   case MEK_CALL_HI16:
   case MEK_CALL_LO16:
   case MEK_GOT:
@@ -274,7 +273,6 @@ void MipsMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const {
     if (const MipsMCExpr *E = dyn_cast<const MipsMCExpr>(getSubExpr()))
       E->fixELFSymbolsInTLSFixups(Asm);
     break;
-  case MEK_DTPREL:
   case MEK_DTPREL_HI:
   case MEK_DTPREL_LO:
   case MEK_TLSLDM:
index 6f5fc61eecd8c5bb785a5fcd47dc46ea06ece000..6aa429adb417b1d53d9dc558839e4425683d88fe 100644 (file)
@@ -1,34 +1,12 @@
-; RUN: llc -O0 -march=mips -mcpu=mips32r2 -filetype=obj \
-; RUN:     -split-dwarf-file=foo.dwo -o=%t-32.o < %s
+; RUN: llc -O0 -march=mips -mcpu=mips32r2 -filetype=obj -o=%t-32.o < %s
 ; RUN: llvm-dwarfdump %t-32.o 2>&1 | FileCheck %s
-; RUN: llc -O0 -march=mips64 -mcpu=mips64r2 -filetype=obj \
-; RUN:     -split-dwarf-file=foo.dwo -o=%t-64.o < %s
+; RUN: llc -O0 -march=mips64 -mcpu=mips64r2 -filetype=obj -o=%t-64.o < %s
 ; RUN: llvm-dwarfdump %t-64.o 2>&1 | FileCheck %s
 
-; RUN: llc -O0 -march=mips -mcpu=mips32r2 -filetype=asm \
-; RUN:     -split-dwarf-file=foo.dwo < %s | FileCheck -check-prefix=ASM32 %s
-; RUN: llc -O0 -march=mips64 -mcpu=mips64r2 -filetype=asm \
-; RUN:     -split-dwarf-file=foo.dwo < %s | FileCheck -check-prefix=ASM64 %s
-
 @x = thread_local global i32 5, align 4, !dbg !0
 
 ; CHECK-NOT: error: failed to compute relocation: R_MIPS_TLS_DTPREL
 
-; CHECK:      DW_AT_name      ("x")
-; CHECK-NEXT: DW_AT_type      (0x00000025 "int")
-; CHECK-NEXT: DW_AT_external  (true)
-; CHECK-NEXT: DW_AT_decl_file (0x01)
-; CHECK-NEXT: DW_AT_decl_line (1)
-; CHECK-NEXT: DW_AT_location  (DW_OP_GNU_const_index 0x0, DW_OP_GNU_push_tls_address)
-
-; ASM32:              .section        .debug_addr
-; ASM32-NEXT: $addr_table_base0:
-; ASM32-NEXT:         .4byte  x+32768
-
-; ASM64:              .section        .debug_addr
-; ASM64-NEXT: .Laddr_table_base0:
-; ASM64-NEXT:         .8byte  x+32768
-
 !llvm.dbg.cu = !{!2}
 !llvm.module.flags = !{!7, !8}