summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmara Emerson <aemerson@apple.com>2019-01-24 00:24:59 +0000
committerAmara Emerson <aemerson@apple.com>2019-01-24 00:24:59 +0000
commitaddb7ab2ae2234b4b49e3f29e72762d8ee90bcef (patch)
tree508d3a1f88917c6453c9f486c4cefa261e763fd3
parent009f9e82319e77c36afe7498f90283d29aa0b2d3 (diff)
downloadbcm5719-llvm-addb7ab2ae2234b4b49e3f29e72762d8ee90bcef.tar.gz
bcm5719-llvm-addb7ab2ae2234b4b49e3f29e72762d8ee90bcef.zip
Revert "[mips] Handle MipsMCExpr sub-expression for the MEK_DTPREL tag"
This reverts commit r351987 as it broke some bots. llvm-svn: 351998
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp5
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp14
-rw-r--r--llvm/test/DebugInfo/Mips/dwarfdump-tls.ll26
3 files changed, 10 insertions, 35 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
index 3d3003a0811..32931c033e5 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
+++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
@@ -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;
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
index 680806c4deb..42bc847bb61 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
+++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
@@ -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:
diff --git a/llvm/test/DebugInfo/Mips/dwarfdump-tls.ll b/llvm/test/DebugInfo/Mips/dwarfdump-tls.ll
index 6f5fc61eecd..6aa429adb41 100644
--- a/llvm/test/DebugInfo/Mips/dwarfdump-tls.ll
+++ b/llvm/test/DebugInfo/Mips/dwarfdump-tls.ll
@@ -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}
OpenPOWER on IntegriCloud