TLS_addr64 and TLS_addr32 define RDI and EAX. They don't use them.
This fixes PR4002.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69672 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86Instr64bit.td b/lib/Target/X86/X86Instr64bit.td
index 69c74b2..e84d136 100644
--- a/lib/Target/X86/X86Instr64bit.td
+++ b/lib/Target/X86/X86Instr64bit.td
@@ -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)]>,