[llvm-commits] [llvm] r69672 - in /llvm/trunk/lib/Target/X86: X86Instr64bit.td X86InstrInfo.td
Rafael Espindola
rafael.espindola at gmail.com
Tue Apr 21 01:22:11 PDT 2009
Author: rafael
Date: Tue Apr 21 03:22:09 2009
New Revision: 69672
URL: http://llvm.org/viewvc/llvm-project?rev=69672&view=rev
Log:
TLS_addr64 and TLS_addr32 define RDI and EAX. They don't use them.
This fixes PR4002.
Modified:
llvm/trunk/lib/Target/X86/X86Instr64bit.td
llvm/trunk/lib/Target/X86/X86InstrInfo.td
Modified: llvm/trunk/lib/Target/X86/X86Instr64bit.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Instr64bit.td?rev=69672&r1=69671&r2=69672&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86Instr64bit.td (original)
+++ llvm/trunk/lib/Target/X86/X86Instr64bit.td Tue Apr 21 03:22:09 2009
@@ -1303,7 +1303,7 @@
// Thread Local Storage Instructions
//===----------------------------------------------------------------------===//
-let hasSideEffects = 1, Uses = [RDI] in
+let hasSideEffects = 1, Defs = [RDI] in
def TLS_addr64 : I<0, Pseudo, (outs), (ins i64imm:$sym),
".byte\t0x66; leaq\t${sym:mem}(%rip), %rdi; .word\t0x6666; rex64",
[(X86tlsaddr tglobaltlsaddr:$sym)]>,
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=69672&r1=69671&r2=69672&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Tue Apr 21 03:22:09 2009
@@ -2977,7 +2977,7 @@
// Thread Local Storage Instructions
//
-let hasSideEffects = 1, Uses = [EAX, EBX] in
+let hasSideEffects = 1, Uses = [EBX], Defs = [EAX] in
def TLS_addr32 : I<0, Pseudo, (outs), (ins i32imm:$sym),
"leal\t${sym:mem}(,%ebx,1), %eax",
[(X86tlsaddr tglobaltlsaddr:$sym)]>,
More information about the llvm-commits
mailing list