[llvm-commits] [llvm] r123712 - /llvm/trunk/lib/Target/X86/X86InstrCompiler.td
Eric Christopher
echristo at apple.com
Mon Jan 17 17:37:20 PST 2011
Author: echristo
Date: Mon Jan 17 19:37:20 2011
New Revision: 123712
URL: http://llvm.org/viewvc/llvm-project?rev=123712&view=rev
Log:
The stub routine that we're calling uses test and so clobbers
the flags.
Modified:
llvm/trunk/lib/Target/X86/X86InstrCompiler.td
Modified: llvm/trunk/lib/Target/X86/X86InstrCompiler.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrCompiler.td?rev=123712&r1=123711&r2=123712&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrCompiler.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrCompiler.td Mon Jan 17 19:37:20 2011
@@ -283,7 +283,7 @@
// For i386, the address of the thunk is passed on the stack, on return the
// address of the variable is in %eax. %ecx is trashed during the function
// call. All other registers are preserved.
-let Defs = [EAX, ECX],
+let Defs = [EAX, ECX, EFLAGS],
Uses = [ESP],
usesCustomInserter = 1 in
def TLSCall_32 : I<0, Pseudo, (outs), (ins i32mem:$sym),
@@ -293,7 +293,7 @@
// For x86_64, the address of the thunk is passed in %rdi, on return
// the address of the variable is in %rax. All other registers are preserved.
-let Defs = [RAX],
+let Defs = [RAX, EFLAGS],
Uses = [RSP, RDI],
usesCustomInserter = 1 in
def TLSCall_64 : I<0, Pseudo, (outs), (ins i64mem:$sym),
More information about the llvm-commits
mailing list