From: Sean Fertile Date: Wed, 8 Jan 2020 17:32:32 +0000 (-0500) Subject: [PowerPC] The VK_PLT symbolref modifier is only used on 32-bit ELF. [NFC] X-Git-Tag: llvmorg-11-init~526 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1a1dbea24df51e441f3517abb8e251df0029dad7;p=platform%2Fupstream%2Fllvm.git [PowerPC] The VK_PLT symbolref modifier is only used on 32-bit ELF. [NFC] Fix a conditional that guarded code for execution only on 32-bit ELF by checking that the Subtarget was not 64-bit and not-Darwin. By adding a new target ABI (AIX), the condition is no longer correct. This code is dead for AIX, due to a 'report_fatal_error' for thread local storage usage earlier in the pipeline, but needs to be modifed as part of Darwins removal from the PowerPC backend. --- diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index 40e7f88..79d8660 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -508,9 +508,9 @@ void PPCAsmPrinter::EmitTlsCall(const MachineInstr *MI, (!Subtarget->isPPC64() && MI->getOperand(1).getReg() == PPC::R3)) && "GETtls[ld]ADDR[32] must read GPR3"); - if (!Subtarget->isPPC64() && !Subtarget->isDarwin() && - isPositionIndependent()) + if (Subtarget->is32BitELFABI() && isPositionIndependent()) Kind = MCSymbolRefExpr::VK_PLT; + const MCExpr *TlsRef = MCSymbolRefExpr::create(TlsGetAddr, Kind, OutContext);