[llvm-commits] [llvm] r158158 - in /llvm/trunk: lib/Target/X86/X86MCInstLower.cpp test/CodeGen/X86/tls-pic.ll
Hans Wennborg
hans at chromium.org
Thu Jun 7 12:00:10 PDT 2012
On Thu, Jun 7, 2012 at 7:39 PM, Rafael Espindola
<rafael.espindola at gmail.com> wrote:
> Author: rafael
> Date: Thu Jun 7 13:39:19 2012
> New Revision: 158158
>
> URL: http://llvm.org/viewvc/llvm-project?rev=158158&view=rev
> Log:
> Use a base register instead of an index register with the local dynamic model.
> Fixes pr13048.
>
> Modified:
> llvm/trunk/lib/Target/X86/X86MCInstLower.cpp
> llvm/trunk/test/CodeGen/X86/tls-pic.ll
>
> Modified: llvm/trunk/lib/Target/X86/X86MCInstLower.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCInstLower.cpp?rev=158158&r1=158157&r2=158158&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86MCInstLower.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86MCInstLower.cpp Thu Jun 7 13:39:19 2012
> @@ -596,6 +596,14 @@
> LEA.addOperand(MCOperand::CreateReg(0)); // index
> LEA.addOperand(MCOperand::CreateExpr(symRef)); // disp
> LEA.addOperand(MCOperand::CreateReg(0)); // seg
> + } else if (SRVK == MCSymbolRefExpr::VK_TLSLDM) {
> + LEA.setOpcode(X86::LEA32r);
> + LEA.addOperand(MCOperand::CreateReg(X86::EAX)); // dest
> + LEA.addOperand(MCOperand::CreateReg(X86::EBX)); // base
> + LEA.addOperand(MCOperand::CreateImm(1)); // scale
> + LEA.addOperand(MCOperand::CreateReg(0)); // index
> + LEA.addOperand(MCOperand::CreateExpr(symRef)); // disp
> + LEA.addOperand(MCOperand::CreateReg(0)); // seg
> } else {
> LEA.setOpcode(X86::LEA32r);
> LEA.addOperand(MCOperand::CreateReg(X86::EAX)); // dest
>
> Modified: llvm/trunk/test/CodeGen/X86/tls-pic.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/tls-pic.ll?rev=158158&r1=158157&r2=158158&view=diff
> ==============================================================================
> --- llvm/trunk/test/CodeGen/X86/tls-pic.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/tls-pic.ll Thu Jun 7 13:39:19 2012
> @@ -75,7 +75,7 @@
> }
>
> ; X32: f5:
> -; X32: leal {{[jk]}}@TLSLDM
> +; X32: leal {{[jk]}}@TLSLDM(%ebx)
> ; X32-NEXT: calll ___tls_get_addr at PLT
> ; X32-NEXT: movl {{[jk]}}@DTPOFF(%eax)
> ; X32-NEXT: addl {{[jk]}}@DTPOFF(%eax)
Thanks for fixing!
More information about the llvm-commits
mailing list